Skip to content

Commit 4508792

Browse files
committed
Only set sm_70 when CUDA 9 is installed.
1 parent a62b7ac commit 4508792

File tree

1 file changed

+28
-11
lines changed

1 file changed

+28
-11
lines changed

CUDA/CMakeLists.txt

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -88,21 +88,38 @@ endif(GPU_DOUBLE_PREC)
8888

8989
SET(FERMI_GPU OFF CACHE BOOL "Enable build for (old) Fermi architectures (Compute capability 2.0)")
9090

91+
92+
IF(FERMI_GPU)
93+
set(MY_NVCC_FLAGS -gencode arch=compute_20,code=sm_20)
94+
list(APPEND MY_NVCC_FLAGS -gencode arch=compute_30,code=sm_30)
95+
list(APPEND MY_NVCC_FLAGS -gencode arch=compute_50,code=sm_50)
96+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_52,code=sm_52)
97+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_52,code=compute_52)
98+
ELSE(FERMI_GPU)
99+
set(MY_NVCC_FLAGS -arch=sm_30 -gencode arch=compute_30,code=sm_30)
100+
list(APPEND MY_NVCC_FLAGS -gencode arch=compute_50,code=sm_50)
101+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_52,code=sm_52)
102+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_52,code=compute_52)
103+
104+
if(${CUDA_VERSION_MAJOR} STRGREATER "7")
105+
message("add CUDA 8 flags: Current version: ${CUDA_VERSION}")
106+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_60,code=sm_60)
107+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_61,code=sm_61)
108+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_61,code=compute_61)
109+
endif()
110+
111+
if(${CUDA_VERSION_MAJOR} STRGREATER "8")
112+
message("add CUDA 9 flags: Current version: ${CUDA_VERSION}")
113+
list(APPEND MY_NVCC_FLAGS -gencode=arch=compute_70,code=sm_70)
114+
endif()
115+
ENDIF(FERMI_GPU)
116+
91117
IF(CMAKE_BUILD_TYPE MATCHES Debug)
92118
MESSAGE("debug mode")
93-
if(FERMI_GPU)
94-
list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_50,code=sm_50 --ptxas-options=-v)
95-
else(FERMI_GPU)
96-
list(APPEND CUDA_NVCC_FLAGS --ptxas-options=-v -arch=sm_30 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=compute_70)
97-
endif(FERMI_GPU)
98-
119+
list(APPEND CUDA_NVCC_FLAGS ${MY_NVCC_FLAGS} --ptxas-options=-v)
99120
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -g")
100121
ELSE(CMAKE_BUILD_TYPE)
101-
if(FERMI_GPU)
102-
list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_50,code=sm_50)
103-
else(FERMI_GPU)
104-
list(APPEND CUDA_NVCC_FLAGS -arch=sm_30 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_50,code=sm_50 -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_60,code=sm_60 -gencode=arch=compute_61,code=sm_61 -gencode=arch=compute_62,code=sm_62 -gencode=arch=compute_70,code=sm_70 -gencode=arch=compute_70,code=compute_70)
105-
endif(FERMI_GPU)
122+
list(APPEND CUDA_NVCC_FLAGS ${MY_NVCC_FLAGS})
106123
ENDIF()
107124

108125
MESSAGE(STATUS "setting NVCC FLAGS to: ${CUDA_NVCC_FLAGS}")

0 commit comments

Comments
 (0)