Package ai.rapids.cudf.nvcomp
Class BatchedLZ4Compressor
java.lang.Object
ai.rapids.cudf.nvcomp.BatchedCompressor
ai.rapids.cudf.nvcomp.BatchedLZ4Compressor
Multi-buffer LZ4 compressor
-
Constructor Summary
ConstructorsConstructorDescriptionBatchedLZ4Compressor(long chunkSize, long maxIntermediateBufferSize) Construct a batched LZ4 compressor instance -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbatchedCompressAsync(long devInPtrs, long devInSizes, long chunkSize, long batchSize, long tempPtr, long tempSize, long devOutPtrs, long compressedSizesOutPtr, long stream) Asynchronously compress a batch of buffers.protected longbatchedCompressGetTempSize(long batchSize, long maxChunkSize) Get the temporary workspace size required to perform compression of an entire batch.Methods inherited from class ai.rapids.cudf.nvcomp.BatchedCompressor
compress
-
Constructor Details
-
BatchedLZ4Compressor
public BatchedLZ4Compressor(long chunkSize, long maxIntermediateBufferSize) Construct a batched LZ4 compressor instance- Parameters:
chunkSize- maximum amount of uncompressed data to compress as a single chunk. Inputs larger than this will be compressed in multiple chunks.maxIntermediateBufferSize- desired maximum size of intermediate device buffers used during compression.
-
-
Method Details
-
batchedCompressGetTempSize
protected long batchedCompressGetTempSize(long batchSize, long maxChunkSize) Description copied from class:BatchedCompressorGet the temporary workspace size required to perform compression of an entire batch.- Specified by:
batchedCompressGetTempSizein classBatchedCompressor- Parameters:
batchSize- number of chunks in the batchmaxChunkSize- maximum size of an uncompressed chunk in bytes- Returns:
- The size of required temporary workspace in bytes to compress the batch.
-
batchedCompressAsync
protected void batchedCompressAsync(long devInPtrs, long devInSizes, long chunkSize, long batchSize, long tempPtr, long tempSize, long devOutPtrs, long compressedSizesOutPtr, long stream) Description copied from class:BatchedCompressorAsynchronously compress a batch of buffers. Note that compressedSizesOutPtr must point to pinned memory for this operation to be asynchronous.- Specified by:
batchedCompressAsyncin classBatchedCompressor- Parameters:
devInPtrs- device address of uncompressed buffer addresses vectordevInSizes- device address of uncompressed buffer sizes vectorchunkSize- maximum size of an uncompressed chunk in bytesbatchSize- number of chunks in the batchtempPtr- device address of the temporary workspace buffertempSize- size of the temporary workspace buffer in bytesdevOutPtrs- device address of output buffer addresses vectorcompressedSizesOutPtr- device address where to write the sizes of the compressed data written to the corresponding output buffers. Must point to a buffer with at least 8 bytes of memory per output buffer in the batch.stream- CUDA stream to use
-