Summary
The upstream Entrpi/ds4 tag v0.5.6.2 builds successfully for DGX Spark with make cuda-spark, but its committed cuda-regression target does not compile because tests/cuda_long_context_smoke.c still calls two CUDA APIs with their older signatures.
Entrpi/ds4 currently has GitHub Issues disabled, so I am reporting the engine release-test defect here in the associated ds4-on-spark tracker.
Environment
- NVIDIA DGX Spark, GB10 / SM121
- Ubuntu 24.04.4 LTS, aarch64
- CUDA 13.0 (
Build cuda_13.0.r13.0/compiler.36424714_0)
- DS4 tag:
v0.5.6.2
- DS4 commit:
027714a4c290a756ef3e6ca557426528745f2033
- Build:
make cuda-spark -j20 succeeds
Reproduction
git clone --branch v0.5.6.2 --single-branch https://github.com/Entrpi/ds4.git
cd ds4
make cuda-spark -j20
make cuda-regression -j20
The regression target fails while compiling tests/cuda_long_context_smoke.c:
tests/cuda_long_context_smoke.c:44:13: error: too few arguments to function ‘ds4_gpu_indexer_topk_tensor’
tests/cuda_long_context_smoke.c:111:9: error: too few arguments to function ‘ds4_gpu_attention_decode_heads_tensor’
Cause
The release changed the declarations in ds4_gpu.h, but the calls in tests/cuda_long_context_smoke.c were not updated.
ds4_gpu_indexer_topk_tensor now also requires n_comp_max and il_for_decode1. The header documents (0, UINT32_MAX) for legacy/non-decode1 callers.
ds4_gpu_attention_decode_heads_tensor now includes comp_kv_f16 before n_comp, followed by scalars, il_for_decode1, comp_fp8, and comp_scale. The regression call still uses the previous argument layout.
Independent validation
I left the tagged source unchanged and compiled a temporary copy of only the regression test with the header-documented fallback arguments:
ds4_gpu_indexer_topk_tensor(selected, scores, n_comp, n_tokens, top_k,
0, UINT32_MAX)
For the attention call, I added 0 for comp_kv_f16 and the trailing NULL, UINT32_MAX, NULL, NULL fallback arguments.
That temporary compatibility test compiled against the exact v0.5.6.2 CUDA objects and completed successfully on GB10:
ds4: CUDA backend initialized on NVIDIA GB10 (sm_121)
cuda-regression: top-k n_comp=32768 n_tokens=32 elapsed=0.000s
cuda long-context regression: OK
This indicates a stale test call-site problem rather than a failure of the exercised CUDA runtime path.
Expected behavior
The tagged v0.5.6.2 make cuda-regression target should compile and run without requiring local source changes.
Could the two call sites in tests/cuda_long_context_smoke.c be updated to the new signatures and included in the next tag?
Summary
The upstream
Entrpi/ds4tagv0.5.6.2builds successfully for DGX Spark withmake cuda-spark, but its committedcuda-regressiontarget does not compile becausetests/cuda_long_context_smoke.cstill calls two CUDA APIs with their older signatures.Entrpi/ds4currently has GitHub Issues disabled, so I am reporting the engine release-test defect here in the associatedds4-on-sparktracker.Environment
Build cuda_13.0.r13.0/compiler.36424714_0)v0.5.6.2027714a4c290a756ef3e6ca557426528745f2033make cuda-spark -j20succeedsReproduction
git clone --branch v0.5.6.2 --single-branch https://github.com/Entrpi/ds4.git cd ds4 make cuda-spark -j20 make cuda-regression -j20The regression target fails while compiling
tests/cuda_long_context_smoke.c:Cause
The release changed the declarations in
ds4_gpu.h, but the calls intests/cuda_long_context_smoke.cwere not updated.ds4_gpu_indexer_topk_tensornow also requiresn_comp_maxandil_for_decode1. The header documents(0, UINT32_MAX)for legacy/non-decode1 callers.ds4_gpu_attention_decode_heads_tensornow includescomp_kv_f16beforen_comp, followed byscalars,il_for_decode1,comp_fp8, andcomp_scale. The regression call still uses the previous argument layout.Independent validation
I left the tagged source unchanged and compiled a temporary copy of only the regression test with the header-documented fallback arguments:
For the attention call, I added
0forcomp_kv_f16and the trailingNULL, UINT32_MAX, NULL, NULLfallback arguments.That temporary compatibility test compiled against the exact
v0.5.6.2CUDA objects and completed successfully on GB10:This indicates a stale test call-site problem rather than a failure of the exercised CUDA runtime path.
Expected behavior
The tagged
v0.5.6.2make cuda-regressiontarget should compile and run without requiring local source changes.Could the two call sites in
tests/cuda_long_context_smoke.cbe updated to the new signatures and included in the next tag?