`zfp` binary CUDA support broken?
- Dominant language
- C++
- Stars
- 885
- Forks
- 181
- PR merge metrics
- No merged PRs in 30d
Description
I can't figure out how to test CUDA support on my system.
I generated a simple test file: `python3 -c 'import struct; import math; open("test.bin", "wb").write(struct.pack("<256f", *list(math.sin(v/128*6.28)*1000 for v in range(256))))'`.
Then I tried to compress it:
`zfp -x cuda -i test.bin -z testz.bin -f -1 256 -r 10 -s -h`
Which reports the following info:
`type=float nx=256 ny=1 nz=1 nw=1 raw=1024 zfp=16 ratio=64 rate=0.5 rmse=707.3 nrmse=0.3536 maxe=1000 psnr=3.01`
Sometimes it reports nan values or random large floats, despite being given the same input data, but the statistics suggest it's not actually compressing and just storing zeros (related to #105 ?). If I remove the `-h` flag then it just tells me "compression failed". Everything works fine with the other execution modes (serial and omp).
I'm trying to build and package the 1.0.0 release, which doesn't come with tests, so I'm not sure if CUDA is broken in general or this is specific to the command line tool. I am building against CUDA 11.6.
Contributor guide
Research direction
Start by reproducing the reported `zfp -x cuda` command with the generated `test.bin` input under CUDA 11.6, comparing it with the serial and OMP modes. Trace the CUDA path used by the command-line tool and determine whether the failure is specific to CUDA or the CLI; done means valid, repeatable compressed output and a regression test if the relevant test entry point can be identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- data, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100