Skip to content

fix: add explicit thrust/tuple.h for CUDA 13 compatibility#1114

Open
KimYannn wants to merge 1 commit into
soedinglab:masterfrom
KimYannn:fix/thrust-tuple-cuda13-compat
Open

fix: add explicit thrust/tuple.h for CUDA 13 compatibility#1114
KimYannn wants to merge 1 commit into
soedinglab:masterfrom
KimYannn:fix/thrust-tuple-cuda13-compat

Conversation

@KimYannn

Copy link
Copy Markdown
Contributor

Summary

  • Add #include <thrust/tuple.h> to lib/libmarv/src/cudasw4.cuh

CUDA 13 (CCCL refactor) reorganized Thrust's internal header dependencies. As a result, thrust::get is no longer implicitly available via <thrust/sort.h> or <thrust/merge.h>, causing a build failure:

namespace "thrust" has no member "get"
    const auto scoreL = thrust::get<0>(lhs);

The fix adds an explicit #include <thrust/tuple.h> which is backward compatible with all CUDA versions ≥ 7.

Test plan

  • Verified build succeeds on CUDA 13.4 (DGX Spark, sm_120, aarch64)
  • Confirmed master branch fails with the same error without this fix
  • <thrust/tuple.h> has existed since Thrust 1.x — no regression on older CUDA versions

🤖 Generated with Claude Code

CUDA 13 (CCCL refactor) no longer implicitly pulls thrust::get into
scope via thrust/sort.h or thrust/merge.h. Add the explicit include
so thrust::get compiles on CUDA 13+ while remaining backward compatible
with all older CUDA versions.

Fixes build error:
  namespace "thrust" has no member "get"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant