API Comparison#

nvCOMP offers four API tiers. Each targets a different integration depth and/or programming language.

Which API Should I Use?#

API

Language

Complexity

Memory Management

Choose When

Python Codec

Python

Low

Automatic

You work in Python and want the simplest path to GPU compression.

C++ Manager (HLIF)

C++

Low–Medium

Automatic (Manager handles temp buffers, chunking if desired)

You need C++ integration with managed state.

C Batched (LLIF)

C/C++

High

Manual (user allocates temp, output, and status arrays)

You need maximum control over GPU resources, or you are integrating into a C codebase. You manage chunking, temp workspace, and device pointer arrays yourself.

nvCOMPDx (Device Extensions)

CUDA C++

High

Manual (compile-time descriptors, user-managed shared memory)

You want to call (de)compression from inside your own CUDA kernel at warp or block granularity, avoiding separate kernel launches. Only for ANS and LZ4.

For quick-start examples of each API, see: