@@ -6,11 +6,9 @@ if(WITH_CUDA_FP16)
6
6
add_definitions ("-DCUDA_WITH_FP16" )
7
7
endif ()
8
8
9
- set (paddle_known_gpu_archs "30 35 50 52 60 61 70" )
10
- set (paddle_known_gpu_archs7 "30 35 50 52" )
11
- set (paddle_known_gpu_archs8 "30 35 50 52 53 60 61 62" )
12
- set (paddle_known_gpu_archs9 "30 35 50 52 53 60 61 62 70" )
13
- set (paddle_known_gpu_archs10 "30 35 50 52 53 60 61 62 70 72 75" )
9
+ set (paddle_known_gpu_archs "35 50 52 60 61 70 75 80" )
10
+ set (paddle_known_gpu_archs10 "35 50 52 60 61 70 75" )
11
+ set (paddle_known_gpu_archs11 "52 60 61 70 75 80" )
14
12
15
13
######################################################################################
16
14
# A function for automatic detection of GPUs installed (if autodetection is enabled)
@@ -65,8 +63,8 @@ endfunction()
65
63
# select_nvcc_arch_flags(out_variable)
66
64
function (select_nvcc_arch_flags out_variable )
67
65
# List of arch names
68
- set (archs_names "Kepler" "Maxwell" "Pascal" "Volta" "Turing" "All" "Manual" )
69
- set (archs_name_default "All " )
66
+ set (archs_names "Kepler" "Maxwell" "Pascal" "Volta" "Turing" "Ampere" " All" "Manual" )
67
+ set (archs_name_default "Auto " )
70
68
list (APPEND archs_names "Auto" )
71
69
72
70
# set CUDA_ARCH_NAME strings (so it will be seen as dropbox in CMake-Gui)
@@ -82,7 +80,7 @@ function(select_nvcc_arch_flags out_variable)
82
80
83
81
if (${CUDA_ARCH_NAME} STREQUAL "Manual" )
84
82
set (CUDA_ARCH_BIN ${paddle_known_gpu_archs} CACHE STRING "Specify 'real' GPU architectures to build binaries for, BIN(PTX) format is supported" )
85
- set (CUDA_ARCH_PTX "50 " CACHE STRING "Specify 'virtual' PTX architectures to build PTX intermediate code for" )
83
+ set (CUDA_ARCH_PTX "" CACHE STRING "Specify 'virtual' PTX architectures to build PTX intermediate code for" )
86
84
mark_as_advanced (CUDA_ARCH_BIN CUDA_ARCH_PTX )
87
85
else ()
88
86
unset (CUDA_ARCH_BIN CACHE )
@@ -99,6 +97,8 @@ function(select_nvcc_arch_flags out_variable)
99
97
set (cuda_arch_bin "70" )
100
98
elseif (${CUDA_ARCH_NAME} STREQUAL "Turing" )
101
99
set (cuda_arch_bin "75" )
100
+ elseif (${CUDA_ARCH_NAME} STREQUAL "Ampere" )
101
+ set (cuda_arch_bin "80" )
102
102
elseif (${CUDA_ARCH_NAME} STREQUAL "All" )
103
103
set (cuda_arch_bin ${paddle_known_gpu_archs} )
104
104
elseif (${CUDA_ARCH_NAME} STREQUAL "Auto" )
@@ -143,32 +143,24 @@ function(select_nvcc_arch_flags out_variable)
143
143
endfunction ()
144
144
145
145
message (STATUS "CUDA detected: " ${CUDA_VERSION} )
146
- if (${CUDA_VERSION} LESS 7.0 )
147
- set (paddle_known_gpu_archs ${paddle_known_gpu_archs} )
148
- add_definitions ("-DPADDLE_CUDA_BINVER=\" 60\" " )
149
- elseif (${CUDA_VERSION} LESS 8.0 ) # CUDA 7.x
150
- set (paddle_known_gpu_archs ${paddle_known_gpu_archs7} )
151
- list (APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED" )
152
- list (APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__" )
153
- add_definitions ("-DPADDLE_CUDA_BINVER=\" 70\" " )
154
- elseif (${CUDA_VERSION} LESS 9.0 ) # CUDA 8.x
155
- set (paddle_known_gpu_archs ${paddle_known_gpu_archs8} )
146
+ if (${CUDA_VERSION} LESS 11.0 ) # CUDA 10.x
147
+ set (paddle_known_gpu_archs ${paddle_known_gpu_archs10} )
156
148
list (APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED" )
157
149
list (APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__" )
158
- # CUDA 8 may complain that sm_20 is no longer supported. Suppress the
159
- # warning for now.
160
150
list (APPEND CUDA_NVCC_FLAGS "-Wno-deprecated-gpu-targets" )
161
- add_definitions ("-DPADDLE_CUDA_BINVER=\" 80 \" " )
162
- elseif (${CUDA_VERSION} LESS 10.0 ) # CUDA 9.x
163
- set (paddle_known_gpu_archs ${paddle_known_gpu_archs9 } )
151
+ add_definitions ("-DPADDLE_CUDA_BINVER=\" 100 \" " )
152
+ elseif (${CUDA_VERSION} LESS 11.2 ) # CUDA 11.0/11.1
153
+ set (paddle_known_gpu_archs ${paddle_known_gpu_archs11 } )
164
154
list (APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED" )
165
155
list (APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__" )
166
- add_definitions ("-DPADDLE_CUDA_BINVER=\" 90\" " )
167
- elseif (${CUDA_VERSION} LESS 11.0 ) # CUDA 10.x
168
- set (paddle_known_gpu_archs ${paddle_known_gpu_archs10} )
156
+ list (APPEND CUDA_NVCC_FLAGS "-Wno-deprecated-gpu-targets" )
157
+ add_definitions ("-DPADDLE_CUDA_BINVER=\" 110\" " )
158
+ elseif (${CUDA_VERSION} LESS 12.0 ) # CUDA 11.2+
159
+ set (paddle_known_gpu_archs "${paddle_known_gpu_archs11} 86" )
169
160
list (APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED" )
170
161
list (APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__" )
171
- add_definitions ("-DPADDLE_CUDA_BINVER=\" 100\" " )
162
+ list (APPEND CUDA_NVCC_FLAGS "-Wno-deprecated-gpu-targets" )
163
+ add_definitions ("-DPADDLE_CUDA_BINVER=\" 110\" " )
172
164
endif ()
173
165
174
166
if (CUDA_WITH_FP16 )
0 commit comments