Algorithm Selection#

nvCOMP provides multiple compression formats. This page helps you choose the right one for your data and workload.

Quick Decision Matrix#

Format

Compression Ratio

Compression Throughput

Decompression Throughput

DE Support

When to Use

LZ4

Moderate

Moderate

High

Yes

Good balance of speed and ratio on most data.

Snappy

Moderate

Moderate

High

Yes

Comparable to LZ4, better performance on GPU.

GDeflate

Low to High (tunable)

Moderate to Low

Moderate

No

Best choice for GPU-only compression pipelines on general data, where a high compression ratio is desired.

Deflate

Low to High (tunable)

Low

Low

Yes

Compatibility with existing Deflate/zlib-compressed data. DE usage.

Gzip

Low to High (tunable)

Low

Low

Yes

Compatibility with existing Gzip-compressed data. DE usage.

Zstandard

High

Low

Moderate

No

Versatile, great choice if CPU (de)compression is important. Otherwise GDeflate is better.

Cascaded

High (if compression options are chosen carefully)

High

High

No

Columnar analytics, tabular data with repetitive values.

Bitcomp

Low to High (tunable)

High

High

No

Scientific computing floating-point data.

ANS

Moderate

High

High

No

When maximum throughput matters more than compression ratio.

Choosing by Data Type#

Structured or Numeric Data#

If your data consists of typed columns (integers, floats) with repetitive patterns—typical of analytics databases, scientific simulations, or sensor telemetry, Cascaded or Bitcomp will outperform general-purpose compressors.

  • Cascaded combines run-length encoding, delta encoding, and bitpacking. Configure the number of RLE and delta passes to match your data characteristics. See Cascaded Compression for details.

  • Bitcomp is optimized for scientific computing workloads with floating-point data. See Bitcomp Compression for details.

General Byte-Oriented Data#

For strings, mixed binary content, serialized objects, or data without strong numerical patterns:

  • LZ4/Snappy achieve similar compression ratios and throughputs. If compressing and decompressing on the GPU, Snappy is the better choice, since it is better across the board in most cases. If CPU (de)compression will be used, the choice is more nuanced, as LZ4 generally performs better on the CPU, and offers multiple compression modes to tune the compression ratio.

  • GDeflate offers a knob for tuning the compression ratio and throughput, allowing for a higher ratio than the lightweight compressors (LZ4/Snappy).

  • Zstandard achieves similar compression ratios to GDeflate when using its higher compression modes (2-5), with a superior compression throughput, but inferior decompression throughput.

  • Deflate/Gzip achieve the worst throughput of the bunch, and should only be used if absolutely necessary due to compatibility reasons. Otherwise, replace with GDeflate, or Zstandard if CPU (de)compression is important. Note that Zstandard outperforms Deflate on the CPU in every metric. Also note that for Gzip decompression, the NVCOMP_GZIP_DECOMPRESS_ALGORITHM_LOOKAHEAD mode allows for decompression of large buffers with moderate throughput.

Hardware Decompression Engine#

On Blackwell GPUs (B200, B300, GB200, GB300), the Decompression Engine (DE) offloads decompression from the SMs, freeing compute resources.

Algorithms with DE support: LZ4, Snappy, Deflate (including Gzip).

If your pipeline is decompression-bound and runs on Blackwell hardware, prefer DE-supported algorithms. See Decompression Engine for more information.