Skip to content

[Upstream ds4 bug] v0.5.6.2 cuda-regression target does not compile #13

Description

@NotSamClemens

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.

  1. 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.
  2. 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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions