diff --git a/CMakeLists.txt b/CMakeLists.txt index 378f757d2854c80a470b499e9bcf6d57410fc001..8da797ed155ea94675df58e803b0040b68e6a09d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -669,7 +669,7 @@ if(NOT APPLE AND NOT (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")) option(WITH_CYCLES_CUDA_BINARIES "Build Cycles NVIDIA CUDA binaries" OFF) set(CYCLES_CUDA_BINARIES_ARCH - sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 sm_89 compute_75 + sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 sm_86 sm_89 sm_120 compute_75 CACHE STRING "CUDA architectures to build binaries for" ) option(WITH_CYCLES_CUDA_BUILD_SERIAL "\ diff --git a/build_files/config/pipeline_config.yaml b/build_files/config/pipeline_config.yaml index e5f293e9da827d22c305d74fe2f2548024c1d526..c817aa94b9027435b211844313310fb7a32f227c 100644 --- a/build_files/config/pipeline_config.yaml +++ b/build_files/config/pipeline_config.yaml @@ -11,7 +11,7 @@ buildbot: cuda11: version: '11.4.1' cuda12: - version: '12.1.1' + version: '12.8.0' hip: version: '5.7.32000' hiprt: diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 56fb1fafd989e7e44c584ab3a090b9b8e4d1e935..baff8ef004fb72cd7f9c06bbf193f764d63aab04 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -577,6 +577,14 @@ if(WITH_CYCLES_CUDA_BINARIES) else() message(STATUS "CUDA binaries for ${arch} require CUDA 11.1+, skipped.") endif() + elseif(${arch} MATCHES ".*_10." OR ${arch} MATCHES ".*_120") + if("${CUDA_VERSION}" GREATER_EQUAL 128) # Support for sm_100, sm_101, sm_120 was introduced in CUDA 12.8 + set(cuda_nvcc_executable ${CUDA_NVCC_EXECUTABLE}) + set(cuda_toolkit_root_dir ${CUDA_TOOLKIT_ROOT_DIR}) + set(cuda_version ${CUDA_VERSION}) + else() + message(STATUS "CUDA binaries for ${arch} require CUDA 12.8+, skipped.") + endif() else() set(cuda_nvcc_executable ${CUDA_NVCC_EXECUTABLE}) set(cuda_toolkit_root_dir ${CUDA_TOOLKIT_ROOT_DIR}) diff --git a/intern/cycles/kernel/device/cuda/config.h b/intern/cycles/kernel/device/cuda/config.h index 75edb808bcb830737d58ce36a23ab2d2fec72878..6506775cd9e5a33e0bd828e6a513f19dc5ec327d 100644 --- a/intern/cycles/kernel/device/cuda/config.h +++ b/intern/cycles/kernel/device/cuda/config.h @@ -62,8 +62,8 @@ # define GPU_KERNEL_MAX_REGISTERS 48 # endif -/* 7.x, 8.x */ -#elif __CUDA_ARCH__ <= 899 +/* 7.x, 8.x, 12.x */ +#elif __CUDA_ARCH__ <= 1299 # define GPU_MULTIPRESSOR_MAX_REGISTERS 65536 # define GPU_MULTIPROCESSOR_MAX_BLOCKS 32 # define GPU_BLOCK_MAX_THREADS 1024