[rocThrust] Add fallback to std::decay_t when building against old libstdc++#200
Merged
umfranzw merged 1 commit intoJun 12, 2025
Merged
Conversation
The recent updates for CCCL 2.7 compatibility introduced a call to the builtin function std::__decay_t. This builtin can be used in place of std::decay_t to reduce compilation time. It is defined starting with libstdc++-10. However, RHEL 8 still uses libstdc++-8.x. This change introduces a fall-back to std::decay_t in cases where we're building against an older libstdc++.
7525bdd to
1bf4a69
Compare
stanleytsang-amd
approved these changes
Jun 12, 2025
RobsonRLemos
approved these changes
Jun 12, 2025
db56e5c
into
ROCm:release-staging/rocm-rel-7.0
31 of 35 checks passed
assistant-librarian Bot
pushed a commit
to ROCm/rocThrust
that referenced
this pull request
Jun 12, 2025
[rocThrust] Add fallback to std::decay_t when building against old libstdc++ (#200) The recent updates for CCCL 2.7 compatibility introduced a call to the built-in function std::__decay_t. This built-in can be used in place of std::decay_t to reduce compilation time. It is defined starting with libstdc++-10. However, RHEL 8 still uses libstdc++-8.x. This change introduces a fall-back to std::decay_t in cases where we're building against an older libstdc++.
jayhawk-commits
pushed a commit
that referenced
this pull request
Jun 17, 2025
…bstdc++ (#200) The recent updates for CCCL 2.7 compatibility introduced a call to the built-in function std::__decay_t. This built-in can be used in place of std::decay_t to reduce compilation time. It is defined starting with libstdc++-10. However, RHEL 8 still uses libstdc++-8.x. This change introduces a fall-back to std::decay_t in cases where we're building against an older libstdc++.
jayhawk-commits
added a commit
that referenced
this pull request
Jun 20, 2025
### Includes the following PRs: - #121 - #122 - #123 - #146 - #191 - #200 --------- Co-authored-by: Mátyás Aradi <matyas@streamhpc.com> Co-authored-by: Alex Voicu <alexandru.voicu@amd.com> Co-authored-by: Ioannis Assiouras <38722728+iassiour@users.noreply.github.com> Co-authored-by: Nara <nara@streamhpc.com> Co-authored-by: Wayne Franz <wayfranz@amd.com>
marbre
reviewed
Jun 20, 2025
Comment on lines
+46
to
+51
| template<typename T> | ||
| #if defined(_GLIBCXX_RELEASE) && _GLIBCXX_RELEASE < 10 | ||
| using decay_t = std::decay_t<T>; | ||
| #else | ||
| using decay_t = std::__decay_t<T>; | ||
| #endif |
Member
There was a problem hiding this comment.
As mentioned on PR #224, this change breaks compiling rocThrust on Windows with MSVC:
[rocThrust] C:/home/runner/_work/TheRock/TheRock/math-libs/rocThrust/thrust/..\thrust/detail/functional/actor.h:50:22: error: no template named '__decay_t' in namespace 'std'; did you mean 'decay_t'?
[rocThrust] 50 | using decay_t = std::__decay_t<T>;
[rocThrust] | ~~~~~^~~~~~~~~
[rocThrust] | decay_t
[rocThrust] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\type_traits:1267:1: note: 'decay_t' declared here
[rocThrust] 1267 | using decay_t = typename decay<_Ty>::type;
[rocThrust] | ^
[rocThrust] 1 error generated when compiling for gfx1100.
ammallya
pushed a commit
that referenced
this pull request
Jul 11, 2025
Co-authored-by: chiahlin <chiahlin@banff-cyxtera-s73-1.ctr.dcgpu> [ROCm/hipSPARSELt commit: eb9e7f9]
ammallya
pushed a commit
that referenced
this pull request
Sep 24, 2025
…nning tests elsewhere (#200) * commit initial tests.cmake * comment out for test * first set of fixes to load relative to binary instead of working dir * fix tests for TestPlugin.cpp * fix shared library * change backend logger to return the logger to its default state after each test. * create a test project during buildtime that can be used in order to launch all of our tests correctly wherever we copy our build directory. * undo changes to file. i didnt realize we were doing a full logging init refactor * fix check command * Use cmake build dir to fix tests * Remove empty file * Fix code coverage * Clean up path resolution * Fix all tests after loading relative to module * Fix test name checker * Cmake vars for external plugins * Use rel path for comparisons and remove abs paths * Move all plugins to lib and format * Lots of cleanup * Move method and fix RPATH config * Make global * Final cleanup * Modify scoped env to set vars * Move RPATH settings to function called per executable * Add nullptr checks to GraphWrapper. * Format --------- Co-authored-by: Samuel Reeder <samuel.reeder@amd.com>
ammallya
pushed a commit
that referenced
this pull request
Sep 24, 2025
…nning tests elsewhere (#200) * commit initial tests.cmake * comment out for test * first set of fixes to load relative to binary instead of working dir * fix tests for TestPlugin.cpp * fix shared library * change backend logger to return the logger to its default state after each test. * create a test project during buildtime that can be used in order to launch all of our tests correctly wherever we copy our build directory. * undo changes to file. i didnt realize we were doing a full logging init refactor * fix check command * Use cmake build dir to fix tests * Remove empty file * Fix code coverage * Clean up path resolution * Fix all tests after loading relative to module * Fix test name checker * Cmake vars for external plugins * Use rel path for comparisons and remove abs paths * Move all plugins to lib and format * Lots of cleanup * Move method and fix RPATH config * Make global * Final cleanup * Modify scoped env to set vars * Move RPATH settings to function called per executable * Add nullptr checks to GraphWrapper. * Format --------- Co-authored-by: Samuel Reeder <samuel.reeder@amd.com> [ROCm/hipDNN commit: e042b03]
evetsso
pushed a commit
to evetsso/rocm-libraries
that referenced
this pull request
Dec 31, 2025
Enable MXFP4 type
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.
The recent updates for CCCL 2.7 compatibility introduced a call to the built-in function std::__decay_t. This built-in can be used in place of std::decay_t to reduce compilation time. It is defined starting with libstdc++-10. However, RHEL 8 still uses libstdc++-8.x.
This change introduces a fall-back to std::decay_t in cases where we're building against an older libstdc++.