-
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
kokkos_launch_compiler + CUDA auto-detect arch #3770
kokkos_launch_compiler + CUDA auto-detect arch #3770
Conversation
- enables CUDA as a language to auto-detect architecture
- compiler launcher is used so it should validate auto-detection worked
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.
Is there any problem with always doing this and removing the first run?
I honestly cannot think of any other than it might cause users unfamiliar with the Kokkos build system to see CUDA getting enabled as a language and lead them to believe we are actually compiling things with CMAKE_CUDA_COMPILER |
As far as I know there is no way to suppress this from getting emitted when the -- The CUDA compiler identification is NVIDIA 11.0.221
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done |
Even though I can't think of why it may cause the auto-detect to emit something different, at least with the current implementation, if the users sets |
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.
Only some minor comments. Otherwise, I'm fine with the changes here.
Co-authored-by: Daniel Arndt <arndtd@ornl.gov>
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.
Looks OK to me.
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.
Looks fine to me. Pasting below snippet from configuration log in CI build for reference
-- CUDA auto-detection of architecture failed with /usr/bin/g++-8. Enabling CUDA language ONLY to auto-detect architecture...
-- Looking for a CUDA compiler
-- Looking for a CUDA compiler - /usr/local/cuda/bin/nvcc
-- The CUDA compiler identification is NVIDIA 11.0.221
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Detected CUDA Compute Capability 70
-- Setting Kokkos_ARCH_VOLTA70=ON
You must fix the indentation though. The rest of the cmake/kokkos_arch.cmake
uses two spaces and your patch uses a mix of two and four spaces.
Nah, my IDE aligns to the original indentation of two spaces and then uses 4 spaces from then on out because 4 spaces is better than 2 😉 |
Retest this please. |
kokkos_launch_compiler
is being used-DKokkos_ARCH_VOLTA70=ON
from Jenkins test which tests the compiler-launcher