BatchedDecompressor#
- public abstract class BatchedDecompressor#
Decompressor that operates on multiple input buffers in a batch.
Subclassed by ai.rapids.cudf.nvcomp.BatchedLZ4Decompressor, ai.rapids.cudf.nvcomp.BatchedZstdDecompressor
Constructor Summary
Construct a batched decompressor instance.
Method Summary
Asynchronously decompress a batch of compressed data buffers.
Computes the temporary storage size in bytes needed to decompress a compressed batch.
Asynchronously decompress a batch of buffers.
Constructors
- public BatchedDecompressor(long chunkSize)#
Construct a batched decompressor instance.
- Parameters:
chunkSize – maximum uncompressed block size, must match value used during compression
Methods
- public void decompressAsync(
- BaseDeviceMemoryBuffer[] origInputs,
- BaseDeviceMemoryBuffer[] outputs,
- Cuda.Stream stream
Asynchronously decompress a batch of buffers.
- Parameters:
origInputs – buffers to decompress, will be closed by this operation
outputs – output buffers that will contain the decompressed results, each must be sized to the exact decompressed size of the corresponding input
stream – CUDA stream to use
Protected Methods
- protected abstract long batchedDecompressGetTempSize(
- long numChunks,
- long maxUncompressedChunkBytes,
- long maxTotalSize,
- long stream
Computes the temporary storage size in bytes needed to decompress a compressed batch.
- Parameters:
numChunks – number of chunks in the batch
maxUncompressedChunkBytes – maximum uncompressed size of any chunk in bytes
maxTotalSize – Upper bound on the total uncompressed size of all chunks
stream – CUDA stream to use
- Returns:
number of temporary storage bytes needed to decompress the batch
- protected abstract void batchedDecompressAsync(
- long devInPtrs,
- long devInSizes,
- long devOutSizes,
- long batchSize,
- long tempPtr,
- long tempSize,
- long devOutPtrs,
- long stream
Asynchronously decompress a batch of compressed data buffers.
- Parameters:
devInPtrs – device address of compressed input buffer addresses vector
devInSizes – device address of compressed input buffer sizes vector
devOutSizes – device address of uncompressed buffer sizes vector
batchSize – number of buffers in the batch
tempPtr – device address of the temporary decompression space
tempSize – size of the temporary decompression space in bytes
devOutPtrs – device address of uncompressed output buffer addresses vector
stream – CUDA stream to use