NVIDIA / NVIDIA/CUDALibrarySamples
[BUG] LZ4 Data Integritiy Lost with NVCOMP_TYPE_LONGLONG and NVCOMP_TYPE_ULONGLONG
@naveenaero is already working on this.
Since Apr 29, 2026.
- 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:
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.