Merge branch 'cuda_flag' into 'develop'

CMAKE: Cuda flag refactoring for NVHPC > 20.7

See merge request QEF/q-e!1380
This commit is contained in:
Ye Luo 2021-04-10 19:35:39 +00:00
commit df0e91a5a7
2 changed files with 11 additions and 5 deletions

View File

@ -197,11 +197,11 @@ endif()
if(QE_ENABLE_CUDA OR QE_ENABLE_PROFILE_NVTX)
if(CMAKE_Fortran_COMPILER_ID MATCHES "PGI" OR CMAKE_Fortran_COMPILER_ID MATCHES "NVHPC")
add_library(CUDA::cufft INTERFACE IMPORTED)
set_target_properties(CUDA::cufft PROPERTIES INTERFACE_LINK_LIBRARIES "-Mcudalib=cufft")
set_target_properties(CUDA::cufft PROPERTIES INTERFACE_LINK_LIBRARIES "${CUDA_FLAG}lib=cufft")
add_library(CUDA::cublas INTERFACE IMPORTED)
set_target_properties(CUDA::cublas PROPERTIES INTERFACE_LINK_LIBRARIES "-Mcudalib=cublas")
set_target_properties(CUDA::cublas PROPERTIES INTERFACE_LINK_LIBRARIES "${CUDA_FLAG}lib=cublas")
add_library(CUDA::cusolver INTERFACE IMPORTED)
set_target_properties(CUDA::cusolver PROPERTIES INTERFACE_LINK_LIBRARIES "-Mcudalib=cusolver")
set_target_properties(CUDA::cusolver PROPERTIES INTERFACE_LINK_LIBRARIES "${CUDA_FLAG}lib=cusolver")
else()
find_package(CUDAToolkit REQUIRED)
endif()

View File

@ -4,6 +4,12 @@ qe_add_global_compile_definitions(__PGI)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Mcache_align -Mlarge_arrays")
if(QE_ENABLE_CUDA)
set(QE_CUDA_COMPILE_OPTIONS "-Mcuda")
set(QE_CUDA_LINK_OPTIONS "-Mcuda")
if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 20.7)
set(CUDA_FLAG "-cuda")
else()
set(CUDA_FLAG "-Mcuda")
endif()
set(QE_CUDA_COMPILE_OPTIONS ${CUDA_FLAG})
set(QE_CUDA_LINK_OPTIONS ${CUDA_FLAG})
endif()