NVIDIA / NVIDIA/CUDALibrarySamples

[BUG] LZ4 Data Integritiy Lost with NVCOMP_TYPE_LONGLONG and NVCOMP_TYPE_ULONGLONG

Open
#324 4 comments 0 reactions 1 assignee View on GitHub

@naveenaero is already working on this.

Since Apr 29, 2026.

bug nvCOMP
Dominant language
Cuda
Stars
2.5k
Forks
478
PR merge metrics
No merged PRs in 30d

Description

Describe the bug

nvcomp lz4 manager fails to reconstruct valid data after a round-trip of compression, decompression when used with nvcomp types: NVCOMP_TYPE_LONGLONG and NVCOMP_TYPE_ULONGLONG

Steps/Code to reproduce bug

Reproducer:

nvcomp-lz4-reproducer.cpp.txt

Compile with:

g++ -g -Wall -Wextra -Wall -std=c++17 -I/usr/local/cuda/include -I<path_to_nvcomp.h> nvcomp-lz4-reproducer.cpp -o reproducer -lcudart -lnvcomp && ./reproducer  
Expected behavior

Expected behavior

The reproducer I attached compresses a buffer then decompresses the compressed buffer and check that the initial buffer and the final buffer are equal. The test fails the equality check.

The reproducer uses the high level API.
I checked that the manager inputs are within the ranges documented in lz4.h
The alignment constraint should be satisfied since the pointer is a value returned from cudaMalloc().

Environment details:

Bare-metal
Cuda Driver Version: 535.154.05
CUDA Version: 12.2
NVIDIA GeForce RTX 3050
nvcomp Version: 3.0.4 (no extensions)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.