@@ -88,21 +88,38 @@ endif(GPU_DOUBLE_PREC)
8888
8989SET (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+
91117IF (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" )
100121ELSE (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} )
106123ENDIF ()
107124
108125MESSAGE (STATUS "setting NVCC FLAGS to: ${CUDA_NVCC_FLAGS} " )
0 commit comments