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
CMake 3.26 fails due to missing CUDA_ARCHITECTURES #555
Comments
Mhh, this happens when PaRSEC is built as part of TTG, not when I try to build it by itself. Strange. |
My understanding of CMP0104 is that if we want the same level of portability as the local nvcc provides, we should set An alternative is to let CMake complain, and the user will have to select which architectures they want (good luck to them). A second alternative is to detect the problem and ask ourselves for the user to set the variable (or set it to OFF AND warn that we set it to OFF). |
I think it's because we enable the CUDA language in TTG, when we don't enable the CUDA language in the parsec master. This only happens when we put nvcc in the loop, as basically now CMake requires to know what architecture flags to pass to nvcc, or to explicitly pass no architecture flags. |
The error message is somewhat misleading. Policy CMP0104 is not set actually means that it is not set but implicitly NEW (because of cmake_required_version(3.18)). We may want to explicitly set it to OLD to avoid dealing with the problem, but that means we have to update ourselves the list of architectures. |
On xsdk, with the following modules loaded CMake fails:
(there is a newer version of CUDA but that doesn't work with any installed OMPI module, afaics)
CMake complains about missing
CUDA_ARCHITECTURES
:See https://cmake.org/cmake/help/latest/policy/CMP0104.html.
Not sure how to fix this. We cannot force a CUDA architecture that works on all platforms, or can we?
The text was updated successfully, but these errors were encountered: