-
Notifications
You must be signed in to change notification settings - Fork 21
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
Workarounds for CUDA 12.1 and 12.2 #1764
Conversation
launch jenkins |
launch jenkins |
launch perftests |
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.
Some minor cleanups, otherwise not much to do in my opinion.
One question though, why not just use gridtools::make_tuple
everywhere, why a make_1_tuple
?
I wanted to emphasize that this is a workaround that might be needed for users. If you see weird behavior in your code, you might compare against the example and find the problem. |
launch jenkins |
I understand, however, is this workaround ever gonna go away? (Ever = within 1-2 years.) The problem is, unless they fix their older compiler releases or we simply stop supporting those specific releases, we have to keep this workaround in the code, and then I'd rather use a proper interface that works consistently even if it's not obvious why that's used. |
Co-authored-by: Péter Kardos <kardospeter1994@hotmail.com>
launch jenkins |
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.
As discussed, we'll keep the workaround function make_1_tuple
because it's only used in the tests, so it's not visible to users. Users should be discouraged to use affected CUDA versions unless nVidia fixes the problem.
CUDA 12.1 and 12.2 have a problem with constexpr, e.g. in the context of CTAD, see #1766. The workaround is to do pre-C++17 `make_tuple`-construction or construct from a (possibly moved-from) lvalue. CI: add GCC + CUDA 12.1/12.2 and NVHPC 23.7 Co-authored-by: Péter Kardos <kardospeter1994@hotmail.com>
CUDA 12.1 and 12.2 have a problem with constexpr, e.g. in the context of CTAD, see #1766. The workaround is to do pre-C++17
make_tuple
-construction or construct from a (possibly moved-from) lvalue.CI: add GCC + CUDA 12.1/12.2 and NVHPC 23.7