Commit: 3e413327984e9d10613cfdb05e150353f0ed39a0 Author: Sayak Biswas Date: Thu Nov 17 16:16:41 2022 +0100 Branches: blender-v3.3-release https://developer.blender.org/rB3e413327984e9d10613cfdb05e150353f0ed39a0
Cycles: enable AMD RDNA3 GPUs and upgrade HIP compiler * Enable AMD RDNA3 GPUs * Fix T100891: performance regression with RDNA2 cards * Workaround new compiler issue with Vega, by using -O1 Differential Revision: https://developer.blender.org/D16507 =================================================================== M CMakeLists.txt M build_files/config/pipeline_config.yaml M intern/cycles/kernel/CMakeLists.txt =================================================================== diff --git a/CMakeLists.txt b/CMakeLists.txt index f36d16a6ec9..939aea906bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -447,7 +447,7 @@ endif() if(NOT APPLE) option(WITH_CYCLES_DEVICE_HIP "Enable Cycles AMD HIP support" ON) option(WITH_CYCLES_HIP_BINARIES "Build Cycles AMD HIP binaries" OFF) - set(CYCLES_HIP_BINARIES_ARCH gfx900 gfx906 gfx90c gfx902 gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 CACHE STRING "AMD HIP architectures to build binaries for") + set(CYCLES_HIP_BINARIES_ARCH gfx900 gfx906 gfx90c gfx902 gfx1010 gfx1011 gfx1012 gfx1030 gfx1031 gfx1032 gfx1034 gfx1035 gfx1100 gfx1101 gfx1102 CACHE STRING "AMD HIP architectures to build binaries for") mark_as_advanced(WITH_CYCLES_DEVICE_HIP) mark_as_advanced(CYCLES_HIP_BINARIES_ARCH) endif() diff --git a/build_files/config/pipeline_config.yaml b/build_files/config/pipeline_config.yaml index aedaf35629b..e0c55725dd0 100644 --- a/build_files/config/pipeline_config.yaml +++ b/build_files/config/pipeline_config.yaml @@ -55,7 +55,7 @@ buildbot: cuda11: version: '11.4.1' hip: - version: '5.2.21440' + version: '5.3.22480' optix: version: '7.3.0' cmake: diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 7c31b21797f..617ee113880 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -563,13 +563,22 @@ if(WITH_CYCLES_HIP_BINARIES AND WITH_CYCLES_DEVICE_HIP) if(WIN32) set(hip_command ${CMAKE_COMMAND}) set(hip_flags - -E env "HIP_PATH=${HIP_ROOT_DIR}" "PATH=${HIP_PERL_DIR}" + -E env "HIP_PATH=${HIP_ROOT_DIR}" ${HIP_HIPCC_EXECUTABLE}.bat) else() set(hip_command ${HIP_HIPCC_EXECUTABLE}) set(hip_flags) endif() + # There's a bug in the compiler causing some scenes to fail to render on Vega cards + # A workaround currently is to set -O1 opt level during kernel compilation for these + # cards Remove this when a newer compiler is available with fixes. + if(WIN32 AND (${arch} MATCHES "gfx90[a-z0-9]+")) + set(hip_opt_flags "-O1") + else() + set(hip_opt_flags) + endif() + set(hip_flags ${hip_flags} --amdgpu-target=${arch} @@ -586,6 +595,7 @@ if(WITH_CYCLES_HIP_BINARIES AND WITH_CYCLES_DEVICE_HIP) -Wno-unused-value --hipcc-func-supp -ffast-math + ${hip_opt_flags} -o ${CMAKE_CURRENT_BINARY_DIR}/${hip_file}) if(WITH_NANOVDB) _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
