-
Notifications
You must be signed in to change notification settings - Fork 407
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
Remove KOKKOS_IMPL_CUDA_* macros #4138
Remove KOKKOS_IMPL_CUDA_* macros #4138
Conversation
Retest this please. |
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.
There is one mistake. Otherwise looks ok. But I want another careful review. Screwing this up, like that one mistake, would mostly manifest as super rare race conditions....
Retest this please. |
Please elaborate what changes are proposed and why you suggested them. (I don't have an issue with them, just with the way you present them) |
Since requiring CUDA version >9.0, these macros only have one definition and there is no expectation that we need to provide alternatives for other versions. Thus, this pull request is solely about code cleanup removing branches that will never be executed, and avoiding macros that hide the actual code being used. The specific macros being considered are:
The other macros in Additionally, some tests in |
Actually we can probably get rid of everything.
kokkos/core/src/Cuda/Kokkos_Cuda_Vectorization.hpp Lines 138 to 141 in 1fb0c28
kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp Lines 393 to 395 in 1fb0c28
At the very least we could move the macro definition closer to its point of use. |
@masterleinad @dalg24 The
Edit: This was a build with cuda/9.2 on Kepler architecture |
Yes, |
Change made for compatibiltility with kokkos/kokkos#4138
Change made for compatibiltility with kokkos/kokkos#4138
Change made for compatibiltility with kokkos/kokkos#4138
Remove most KOKKOS_IMPL_CUDA_* macros. These are internal (and short) and only really have one definition anyway.