Project

General

Profile

Bug #2561

Updated by Mark Abraham about 2 years ago

The Cmake code in cmake/gmxManageGPU.cmake incorrectly ends up in the
message(STATUS "Enabling single compilation unit for the CUDA non-bonded module...."
part of the if-stmt when building with CUDA 9.9
It does this despite correctly identifying CUDA 9.0 and using only >= 3.0 cuda targets.

Since the code in cmake/gmxManageNvccConfig.cmake correctly sets GMX_CUDA_NVCC_FLAGS regardless of doing autodetection or using user specified SM/COMPUTE targets, the code in cmake/gmxManageGPU.cmake macro(gmx_gpu_setup) can be simplified to:

<pre>
if (GMX_GPU AND NOT GMX_CLANG_CUDA)
gmx_check_if_changed(_gmx_cuda_target_changed GMX_CUDA_NVCC_FLAGS)
if(_gmx_cuda_target_changed OR NOT GMX_GPU_DETECTION_DONE)
if(GMX_CUDA_NVCC_FLAGS MATCHES "_2[01]")
message(STATUS "Enabling single compilation unit...
else()
message(STATUS "Enabling multiple compilation
...

</pre>



(This is the problem I incorrectly targeted in issue 2560)

Back