Skip to content

Make Thrust/CUB ABI namespace resilient against user-defined macros - #6564

Merged
bernhardmgruber merged 3 commits into
NVIDIA:mainfrom
bernhardmgruber:fix_abi_namespace
Nov 13, 2025
Merged

bernhardmgruber merged 3 commits into
NVIDIA:mainfrom
bernhardmgruber:fix_abi_namespace

Conversation

@bernhardmgruber

@bernhardmgruber bernhardmgruber commented Nov 10, 2025 •

Copy link
Copy Markdown
Contributor

Example for new ABI namespace name: thrust::_V_300200_SM_1200::host_vector

Fixes: #6558

@bernhardmgruber
bernhardmgruber requested review from a team as code owners November 10, 2025 08:24
@github-project-automation github-project-automation Bot moved this to Todo in CCCL Nov 10, 2025
@cccl-authenticator-app cccl-authenticator-app Bot moved this from Todo to In Review in CCCL Nov 10, 2025
@bernhardmgruber
bernhardmgruber marked this pull request as draft November 10, 2025 08:26
@copy-pr-bot

copy-pr-bot Bot commented Nov 10, 2025

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@cccl-authenticator-app cccl-authenticator-app Bot moved this from In Review to In Progress in CCCL Nov 10, 2025
@bernhardmgruber
bernhardmgruber marked this pull request as ready for review November 10, 2025 08:31
@cccl-authenticator-app cccl-authenticator-app Bot moved this from In Progress to In Review in CCCL Nov 10, 2025
Comment thread cub/cub/util_namespace.cuh Resolved
@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 3h 50m: Pass: 100%/177 | Total: 6d 13h | Max: 3h 48m | Hits: 90%/365653

See results here.

@bernhardmgruber
bernhardmgruber merged commit 8b26307 into NVIDIA:main Nov 13, 2025
190 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in CCCL Nov 13, 2025
@bernhardmgruber
bernhardmgruber deleted the fix_abi_namespace branch November 13, 2025 16:38
Naraenda pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 26, 2026
…e resilient against user-defined macros (NVIDIA/cccl#6564)

Upstream: NVIDIA/cccl@8b26307

HIP counterpart (system/hip): mirrored in namespace.h HIP branch: ABI namespace now THRUST_PP_CAT(THRUST_PP_CAT(_V_, THRUST_VERSION), THRUST_PP_SPLICE_WITH(_, _R, ROCTHRUST_VERSION)) so user macros named THRUST/NS cannot break it (namespace name changes from THRUST_<ver>_<rocver>_NS to _V_<ver>_R_<rocver>; ABI-only, inline namespace). CUDA branches take upstream. cub/libcudacxx parts not applicable. test/ counterpart: none. Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
Naraenda pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 29, 2026
…e resilient against user-defined macros (NVIDIA/cccl#6564)

Upstream: NVIDIA/cccl@8b26307

HIP counterpart (system/hip): mirrored in namespace.h HIP branch: ABI namespace now THRUST_PP_CAT(THRUST_PP_CAT(_V_, THRUST_VERSION), THRUST_PP_SPLICE_WITH(_, _R, ROCTHRUST_VERSION)) so user macros named THRUST/NS cannot break it (namespace name changes from THRUST_<ver>_<rocver>_NS to _V_<ver>_R_<rocver>; ABI-only, inline namespace). CUDA branches take upstream. cub/libcudacxx parts not applicable. test/ counterpart: none. Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
Naraenda pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 29, 2026
…e resilient against user-defined macros (NVIDIA/cccl#6564)

Upstream: NVIDIA/cccl@8b26307

HIP counterpart (system/hip): mirrored in namespace.h HIP branch: ABI namespace now THRUST_PP_CAT(THRUST_PP_CAT(_V_, THRUST_VERSION), THRUST_PP_SPLICE_WITH(_, _R, ROCTHRUST_VERSION)) so user macros named THRUST/NS cannot break it (namespace name changes from THRUST_<ver>_<rocver>_NS to _V_<ver>_R_<rocver>; ABI-only, inline namespace). CUDA branches take upstream. cub/libcudacxx parts not applicable. test/ counterpart: none. Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
Naraenda pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 30, 2026
…e resilient against user-defined macros (NVIDIA/cccl#6564)

Upstream: NVIDIA/cccl@8b26307

HIP counterpart (system/hip): mirrored in namespace.h HIP branch: ABI namespace now THRUST_PP_CAT(THRUST_PP_CAT(_V_, THRUST_VERSION), THRUST_PP_SPLICE_WITH(_, _R, ROCTHRUST_VERSION)) so user macros named THRUST/NS cannot break it (namespace name changes from THRUST_<ver>_<rocver>_NS to _V_<ver>_R_<rocver>; ABI-only, inline namespace). CUDA branches take upstream. cub/libcudacxx parts not applicable. test/ counterpart: none. Not compiled, tests not run (per human)

Co-Authored-By: Claude <noreply@anthropic.com>
Beanavil pushed a commit to ROCm/rocm-libraries that referenced this pull request Oct 30, 2026
…e resilient against user-defined macros (NVIDIA/cccl#6564)

Upstream: NVIDIA/cccl@8b26307

HIP counterpart (system/hip): mirrored in namespace.h HIP branch: ABI namespace now THRUST_PP_CAT(THRUST_PP_CAT(_V_, THRUST_VERSION), THRUST_PP_SPLICE_WITH(_, _R, ROCTHRUST_VERSION)) so user macros named THRUST/NS cannot break it (namespace name changes from THRUST_<ver>_<rocver>_NS to _V_<ver>_R_<rocver>; ABI-only, inline namespace). CUDA branches take upstream. cub/libcudacxx parts not applicable. test/ counterpart: none. Not compiled, tests not run (per human)

Co-Authored-By: Claude <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

Archived in project

Development

Successfully merging this pull request may close these issues.

[BUG]: Thrust fails to compile when the THRUST macro is defined

2 participants