Class BatchedDecompressor

java.lang.Object
ai.rapids.cudf.nvcomp.BatchedDecompressor
Direct Known Subclasses:
BatchedLZ4Decompressor, BatchedZstdDecompressor

public abstract class BatchedDecompressor extends Object
Decompressor that operates on multiple input buffers in a batch
  • Constructor Details

    • BatchedDecompressor

      public BatchedDecompressor(long chunkSize)
      Construct a batched decompressor instance
      Parameters:
      chunkSize - maximum uncompressed block size, must match value used during compression
  • Method Details

    • decompressAsync

      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
    • batchedDecompressGetTempSize

      protected abstract long batchedDecompressGetTempSize(long numChunks, long maxUncompressedChunkBytes)
      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
      Returns:
      number of temporary storage bytes needed to decompress the batch
    • batchedDecompressAsync

      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