Skip to content

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

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

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>
@milot-mirdita

Copy link
Copy Markdown
Member

Thanks! This was fixed as part of some other refacting

@KimYannn
KimYannn deleted the fix/thrust-tuple-cuda13-compat branch July 13, 2026 01:48
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.

2 participants