@@ -224,21 +224,28 @@ if(USE_CUDA)
224
224
# reference for mapping of CUDA toolkit component versions to supported architectures ("compute capabilities"):
225
225
# https://en.wikipedia.org/wiki/CUDA#GPUs_supported
226
226
set (CUDA_ARCHS "60" "61" "62" "70" "75" )
227
- if (CUDA_VERSION VERSION_GREATER_EQUAL "110 " )
227
+ if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.0 " )
228
228
list (APPEND CUDA_ARCHS "80" )
229
229
endif ()
230
- if (CUDA_VERSION VERSION_GREATER_EQUAL "111 " )
230
+ if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.1 " )
231
231
list (APPEND CUDA_ARCHS "86" )
232
232
endif ()
233
- if (CUDA_VERSION VERSION_GREATER_EQUAL "115 " )
233
+ if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.5 " )
234
234
list (APPEND CUDA_ARCHS "87" )
235
235
endif ()
236
- if (CUDA_VERSION VERSION_GREATER_EQUAL "118 " )
236
+ if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.8 " )
237
237
list (APPEND CUDA_ARCHS "89" )
238
238
list (APPEND CUDA_ARCHS "90" )
239
239
endif ()
240
+ if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "12.8" )
241
+ list (APPEND CUDA_ARCHS "100" )
242
+ list (APPEND CUDA_ARCHS "120" )
243
+ endif ()
244
+ # Generate PTX for the most recent architecture for forwards compatibility
240
245
list (POP_BACK CUDA_ARCHS CUDA_LAST_SUPPORTED_ARCH )
241
- list (APPEND CUDA_ARCHS "${CUDA_LAST_SUPPORTED_ARCH} +PTX" )
246
+ list (TRANSFORM CUDA_ARCHS APPEND "-real" )
247
+ list (APPEND CUDA_ARCHS "${CUDA_LAST_SUPPORTED_ARCH} -real" "${CUDA_LAST_SUPPORTED_ARCH} -virtual" )
248
+ message (STATUS "CUDA_ARCHITECTURES: ${CUDA_ARCHS} " )
242
249
if (USE_DEBUG )
243
250
set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -g" )
244
251
else ()
@@ -567,22 +574,22 @@ if(USE_CUDA)
567
574
set_target_properties (
568
575
lightgbm_objs
569
576
PROPERTIES
570
- CUDA_ARCHITECTURES ${CUDA_ARCHS}
577
+ CUDA_ARCHITECTURES " ${CUDA_ARCHS} "
571
578
CUDA_SEPARABLE_COMPILATION ON
572
579
)
573
580
574
581
set_target_properties (
575
582
_lightgbm
576
583
PROPERTIES
577
- CUDA_ARCHITECTURES ${CUDA_ARCHS}
584
+ CUDA_ARCHITECTURES " ${CUDA_ARCHS} "
578
585
CUDA_RESOLVE_DEVICE_SYMBOLS ON
579
586
)
580
587
581
588
if (BUILD_CLI )
582
589
set_target_properties (
583
590
lightgbm
584
591
PROPERTIES
585
- CUDA_ARCHITECTURES ${CUDA_ARCHS}
592
+ CUDA_ARCHITECTURES " ${CUDA_ARCHS} "
586
593
CUDA_RESOLVE_DEVICE_SYMBOLS ON
587
594
)
588
595
endif ()
0 commit comments