parsec icon indicating copy to clipboard operation
parsec copied to clipboard

CMake 3.26 fails due to missing CUDA_ARCHITECTURES

Open devreal opened this issue 1 year ago • 4 comments

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?

devreal avatar Jun 13 '23 15:06 devreal