parsec
parsec copied to clipboard
CMake 3.26 fails due to missing CUDA_ARCHITECTURES
On xsdk, with the following modules loaded CMake fails:
$ module list
Currently Loaded Modulefiles:
1) ncurses/6.4/gcc-9.5.0-vqn4xj 5) numactl/2.0.14/gcc-9.5.0-dyxri7 9) gdbm/1.23/gcc-9.5.0-5wbzex 13) perl/5.36.0/gcc-9.5.0-mwcs4w
2) cmake/3.26.3/gcc-9.5.0-dhly6i 6) openmpi/4.1.5/gcc-9.5.0-pbscs6 10) sqlite/3.40.1/gcc-9.5.0-xvfh2h 14) git/2.40.0/gcc-9.5.0-tuvipl
3) cuda/11.8.0/gcc-9.5.0-tuyfl7 7) intel-oneapi-mkl/2023.1.0/gcc-9.5.0-ytnolx 11) python/3.10.10/gcc-9.5.0-m4pa6k 15) gcc/11.3.0/gcc-9.5.0-kpiwtc
4) hwloc/2.9.1/gcc-9.5.0-6is6iv 8) boost/1.82.0/gcc-9.5.0-nx5nk4 12) gdb/13.1/gcc-9.5.0-ysvglt
(there is a newer version of CUDA but that doesn't work with any installed OMPI module, afaics)
CMake complains about missing CUDA_ARCHITECTURES
:
CMake Error in build/_deps/parsec-src/tests/dsl/dtd/CMakeLists.txt:
CUDA_ARCHITECTURES is empty for target "dtd_test_new_tile".
CMake Warning (dev) in tests/unit/CMakeLists.txt:
Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
empty CUDA_ARCHITECTURES not allowed. Run "cmake --help-policy CMP0104"
for policy details. Use the cmake_policy command to set the policy and
suppress this warning.
CUDA_ARCHITECTURES is empty for target "core-unittests-ttg-mad".
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) in tests/unit/CMakeLists.txt:
Policy CMP0104 is not set: CMAKE_CUDA_ARCHITECTURES now detected for NVCC,
empty CUDA_ARCHITECTURES not allowed. Run "cmake --help-policy CMP0104"
for policy details. Use the cmake_policy command to set the policy and
suppress this warning.
CUDA_ARCHITECTURES is empty for target "core-unittests-ttg-parsec".
This warning is for project developers. Use -Wno-dev to suppress it.
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?