-
Notifications
You must be signed in to change notification settings - Fork 81
Fix compiling with Cuda 13.1 #444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
mhoemmen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this! : - ) Great work with the fix!
For the future (not necessarily this PR), should we consider using MDSPAN_IMPL_TRAIT throughout instead of the ::value or _v trait variants explicitly? include/experimental/__p0009_bits/macros.hpp defines MDSPAN_IMPL_TRAIT as follows.
#if MDSPAN_IMPL_USE_VARIABLE_TEMPLATES
# define MDSPAN_IMPL_TRAIT(TRAIT, ...) TRAIT##_v<__VA_ARGS__>
#else
# define MDSPAN_IMPL_TRAIT(TRAIT, ...) TRAIT<__VA_ARGS__>::value
#endifUsing MDSPAN_IMPL_TRAIT thus should make back-porting to C++14 possible, while still requiring use of the _v traits in Kokkos (that requires C++17 at least).
Co-authored-by: Mark Hoemmen <mhoemmen@users.noreply.github.com>
mhoemmen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the fix!
|
Could you guys explain a bit what is the problem and how you got to the solution? In the current state I have problems following |
We reported the issue to NVIDIA and they found that this change fixes the reproducer. It turns out that it's also enough to fix all compilation problems. Accrding to them, it's an EDG-related bug. There is no good explanation otherwise why this would make any difference. |
Corresponds to kokkos/kokkos#8801.
Thanks @mhoemmen for forwarding the issue and getting the fix for the reproducer!