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 void
batchedCompressAsync
(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 long
batchedCompressGetTempSize
(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:BatchedCompressor
Get the temporary workspace size required to perform compression of an entire batch.- Specified by:
batchedCompressGetTempSize
in 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:BatchedCompressor
Asynchronously compress a batch of buffers. Note that compressedSizesOutPtr must point to pinned memory for this operation to be asynchronous.- Specified by:
batchedCompressAsync
in 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
-