Restore GCC 14 with CUDA 12.9 shuffle workaround - #4939
Merged
ttnghia merged 3 commits intoAug 4, 2026
Conversation
Signed-off-by: Chong Gao <chongg@nvidia.com>
Contributor
Greptile SummaryThe PR restores GCC 14 for native builds while avoiding CUDA 12.9's
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Important Files Changed
Reviews (2): Last reviewed commit: "Fix shuffle split test result access" | Re-trigger Greptile |
added 2 commits
August 4, 2026 15:25
Signed-off-by: Chong Gao <chongg@nvidia.com>
Signed-off-by: Chong Gao <chongg@nvidia.com>
Collaborator
Author
|
build |
NvTimLiu
approved these changes
Aug 4, 2026
NvTimLiu
left a comment
Collaborator
There was a problem hiding this comment.
LGTM for the CI scripts env.sh + Dockerfile
Please find someone help check the source code changes, thanks!
Collaborator
Author
|
cuda12-arm64 passed in the rapids-JNI-for-dev pipeline, seq id is: 103 |
Collaborator
Author
|
cuda13-arm64 failure is related to rapidsai/cudf#23445 |
ttnghia
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #4937.
Summary
shuffle_splitstd::pairreturn type with an aggregate resultRoot cause
CUDA 12.9
cudafe++crashes while instantiating GCC 14's concepts-basedstd::pairconstructor constraints for the shuffle result types. This previously forced the JNI build back to
GCC 13. ARM64 nvCOMP 5.3 is built with GCC 14 and requires
__cxa_call_terminate, which the GCC 13link does not provide.
Using an aggregate avoids the compiler crash without changing the shuffle algorithm. GCC 14 can
then link nvCOMP 5.3 and supplies
__cxa_call_terminatethrough its nonshared compatibilitylibrary, without adding a newer dynamic libstdc++ requirement.
This replaces the GCC 13 toolchain workaround introduced by #4468 while retaining compatibility
with CUDA 12.9.
Validation
__cxa_call_terminatereferences, and GCC 13 does not provide the symbol__cxa_call_terminatethroughlibstdc++_nonshared.ashuffle_split.cucrash with CUDA 12.9.86 and GCC 14.2.1 before the changeafter the change
libcudf.sohas no unresolved relocations with Rocky Linux 8libstdc++.so.6.0.25SHUFFLE_SPLITnative tests, includingMixedValidity