mirror of https://github.com/Qiskit/qiskit-aer.git
Fix CMakeList.txt to support cmake 3.18 or later (#1613)
This commit is contained in:
parent
4066e1f076
commit
c7cb740123
|
@ -30,7 +30,6 @@ if(AER_THRUST_BACKEND STREQUAL "CUDA")
|
|||
set(CUDA_FOUND TRUE)
|
||||
#include(FindCUDA) # for cuda_select_nvcc_arch_flags, CUDA_FOUND
|
||||
include(FindCUDA/select_compute_arch)
|
||||
enable_language(CUDA)
|
||||
else()
|
||||
# idiosyncrasy of CMake that it still creates a reference to this
|
||||
set(CMAKE_CUDA_COMPILE_WHOLE_COMPILATION "")
|
||||
|
@ -252,6 +251,12 @@ if(AER_THRUST_SUPPORTED)
|
|||
cuda_select_nvcc_arch_flags(AER_CUDA_ARCH_FLAGS ${AER_CUDA_ARCH})
|
||||
|
||||
string(REPLACE ";" " " AER_CUDA_ARCH_FLAGS_EXPAND "${AER_CUDA_ARCH_FLAGS}")
|
||||
|
||||
string(REGEX MATCHALL "sm_[0-9][0-9]" CUDA_SM "${AER_CUDA_ARCH_FLAGS}")
|
||||
string(REPLACE "sm_" "" AER_CUDA_ARCHITECTURES "${CUDA_SM}")
|
||||
set(CMAKE_CUDA_ARCHITECTURES "${AER_CUDA_ARCHITECTURES}")
|
||||
message(STATUS "CMAKE_CUDA_ARCHITECTURES = ${CMAKE_CUDA_ARCHITECTURES}")
|
||||
|
||||
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} ${AER_CUDA_ARCH_FLAGS_EXPAND} -DAER_THRUST_CUDA -I${AER_SIMULATOR_CPP_SRC_DIR} -isystem ${AER_SIMULATOR_CPP_SRC_DIR}/third-party/headers -use_fast_math --expt-extended-lambda")
|
||||
|
||||
set(AER_COMPILER_DEFINITIONS ${AER_COMPILER_DEFINITIONS} THRUST_DEVICE_SYSTEM=THRUST_DEVICE_SYSTEM_CUDA)
|
||||
|
@ -362,6 +367,7 @@ else() # Standalone build
|
|||
LINK_FLAGS ${AER_LINKER_FLAGS}
|
||||
RUNTIME_OUTPUT_DIRECTORY_DEBUG Debug
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELEASE Release)
|
||||
enable_language(CUDA)
|
||||
endfunction()
|
||||
|
||||
function(build_cpu target src_file is_exec)
|
||||
|
|
|
@ -32,6 +32,7 @@ if(AER_THRUST_BACKEND STREQUAL "CUDA")
|
|||
string(STRIP ${AER_COMPILER_FLAGS} AER_COMPILER_FLAGS_STRIPPED)
|
||||
nvcc_add_compiler_options(${AER_COMPILER_FLAGS_STRIPPED} AER_COMPILER_FLAGS_OUT)
|
||||
set_target_properties(controller_wrappers PROPERTIES COMPILE_FLAGS "${AER_COMPILER_FLAGS_OUT}")
|
||||
enable_language(CUDA)
|
||||
else()
|
||||
if(DEFINED SIMD_SOURCE_FILE)
|
||||
string(REPLACE ";" " " SIMD_FLAGS "${SIMD_FLAGS_LIST}")
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
cmake 3.18 or later requires setting CMAKE_CUDA_ARCHITECTURES with
|
||||
architecture value for the target GPU.
|
||||
This fix sets CMAKE_CUDA_ARCHITECTURES by referring to AER_CUDA_ARCH.
|
Loading…
Reference in New Issue