Skip to content

Commit 1333bba

Browse files
hipBLASLt: bump submodule to include gfx1151 support (#357)
Bump hipBLASLt submodule to include a revision that has gfx1151 support and can build rocBLAS. Adapt TheRock hipBLASLt patches to match. * Disables rocRoller (see #376) project wide until dep issues can be resolved. * Adds a build dep on boost to avoid boost-too-old system dep issues (with this hipBLASLt will use the boost in the super-project, which we keep current). * Adds a patch to hipBLASLt to only restore clocks on exit if rocm-smi was found. --------- Co-authored-by: Stella Laurenzo <stellaraccident@gmail.com>
1 parent f2079cc commit 1333bba

10 files changed

+99
-53
lines changed

cmake/therock_amdgpu_targets.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ therock_add_amdgpu_target(gfx1150 "AMD Strix Point iGPU" FAMILY igpu-all gfx115X
7474
)
7575
therock_add_amdgpu_target(gfx1151 "AMD Strix Halo iGPU" FAMILY igpu-all gfx115X-all gfx115X-igpu
7676
EXCLUDE_TARGET_PROJECTS
77-
hipBLASLt # https://github.com/ROCm/TheRock/issues/154
7877
rccl # https://github.com/ROCm/TheRock/issues/150
7978
)
8079

math-libs/BLAS/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,14 @@ therock_cmake_subproject_declare(hipBLASLt
6262
-DHIPBLASLT_ENABLE_MARKER=OFF
6363
-DBUILD_CLIENTS_TESTS=${THEROCK_BUILD_TESTING}
6464
-DBUILD_CLIENTS_BENCHMARKS=${THEROCK_BUILD_TESTING}
65+
# TODO(#376): rocRoller is broken
66+
-DUSE_ROCROLLER=OFF
6567
COMPILER_TOOLCHAIN
6668
amd-hip
6769
BUILD_DEPS
6870
hipBLAS-common
6971
rocm-cmake
72+
therock-boost
7073
therock-msgpack-cxx
7174
RUNTIME_DEPS
7275
hip-clr

math-libs/BLAS/hipBLASLt

patches/amd-mainline/hipBLASLt/0001-Update-find_package-for-msgpack-to-work-with-5.x-and.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From e148639debe62686b3572b5aeccb50608464120a Mon Sep 17 00:00:00 2001
1+
From 28d221b97cf54db4b88bfbb923d6569a7065dd9f Mon Sep 17 00:00:00 2001
22
From: Stella Laurenzo <stellaraccident@gmail.com>
33
Date: Mon, 3 Feb 2025 20:28:58 -0800
4-
Subject: [PATCH 1/5] Update find_package for msgpack to work with 5.x and 6.x.
4+
Subject: [PATCH 1/7] Update find_package for msgpack to work with 5.x and 6.x.
55

66
Adapted from: https://github.com/msgpack/msgpack-c/wiki/Q%26A#how-to-support-both-msgpack-c-c-version-5x-and-6x-
77

@@ -11,10 +11,10 @@ Note that 6.x also defines compile definitions that must be respected.
1111
1 file changed, 13 insertions(+), 15 deletions(-)
1212

1313
diff --git a/tensilelite/Tensile/Source/lib/CMakeLists.txt b/tensilelite/Tensile/Source/lib/CMakeLists.txt
14-
index d055b635..a8a98690 100644
14+
index d6ad1df3..813f4848 100644
1515
--- a/tensilelite/Tensile/Source/lib/CMakeLists.txt
1616
+++ b/tensilelite/Tensile/Source/lib/CMakeLists.txt
17-
@@ -96,22 +96,20 @@ if(TENSILE_USE_LLVM OR TENSILE_USE_MSGPACK)
17+
@@ -105,22 +105,20 @@ if(TENSILE_USE_LLVM OR TENSILE_USE_MSGPACK)
1818
endif()
1919

2020
if(TENSILE_USE_MSGPACK)
@@ -51,5 +51,5 @@ index d055b635..a8a98690 100644
5151

5252
if(TENSILE_USE_LLVM)
5353
--
54-
2.34.1
54+
2.43.0
5555

patches/amd-mainline/hipBLASLt/0002-Do-not-hard-code-hipBLASLt-to-find-tools-in-opt-rocm.patch

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From 75d321b60ad464b77004edeab95b5a6ed792f19a Mon Sep 17 00:00:00 2001
1+
From aba1654c5317edcfcef22166f3e5073016627eeb Mon Sep 17 00:00:00 2001
22
From: Stella Laurenzo <stellaraccident@gmail.com>
33
Date: Fri, 7 Mar 2025 12:13:41 -0800
4-
Subject: [PATCH 2/5] Do not hard-code hipBLASLt to find tools in /opt/rocm and
4+
Subject: [PATCH 2/7] Do not hard-code hipBLASLt to find tools in /opt/rocm and
55
propagate configure time PATH.
66

77
* Makes gen_assembly.sh and compile_code_object.sh scripts fail on error vs silently succeeding (`set -e`). These scripts have a suspect design overall, but making them error on failure is a minimal thing that is needed.
@@ -12,14 +12,14 @@ In general, hipBLASLt is very sloppy in terms of how it finds its tools. I resis
1212

1313
This will have a subtle change that if the project was not build with an explicit ROCM_PATH and was somehow relying on falling back to /opt/rocm implicitly, that will now fail. As it should.
1414
---
15-
.../src/kernels/CompileSourceKernel.cmake | 4 +++-
16-
.../rocblaslt/src/kernels/compile_code_object.sh | 14 ++++++++++++--
17-
tensilelite/Tensile/Ops/gen_assembly.sh | 14 +++++++++-----
18-
tensilelite/Tensile/cmake/TensileConfig.cmake | 10 +++++++++-
19-
4 files changed, 33 insertions(+), 9 deletions(-)
15+
.../src/kernels/CompileSourceKernel.cmake | 6 ++++--
16+
.../rocblaslt/src/kernels/compile_code_object.sh | 16 +++++++++++++---
17+
tensilelite/Tensile/Ops/gen_assembly.sh | 14 +++++++++-----
18+
tensilelite/Tensile/cmake/TensileConfig.cmake | 8 +++++++-
19+
4 files changed, 33 insertions(+), 11 deletions(-)
2020

2121
diff --git a/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake b/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake
22-
index 13cf5bd2..27a3172d 100644
22+
index 13cf5bd2..ed20e560 100644
2323
--- a/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake
2424
+++ b/library/src/amd_detail/rocblaslt/src/kernels/CompileSourceKernel.cmake
2525
@@ -31,6 +31,8 @@ function(CompileSourceKernel source archs buildIdKind outputFolder)
@@ -31,10 +31,11 @@ index 13cf5bd2..27a3172d 100644
3131
+ "${CMAKE_COMMAND}" -E env "'PATH=$ENV{PATH}'" --
3232
+ bash ${CMAKE_CURRENT_SOURCE_DIR}/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh ${source} ${archs} ${CMAKE_BUILD_TYPE} ${buildIdKind} ${outputFolder}/hipblasltTransform.hsaco
3333
COMMENT "Compiling source kernels")
34-
endfunction()
34+
-endfunction()
3535
\ No newline at end of file
36+
+endfunction()
3637
diff --git a/library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh b/library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh
37-
index 4ff71ea0..04ab923d 100644
38+
index 4ff71ea0..c40c7002 100644
3839
--- a/library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh
3940
+++ b/library/src/amd_detail/rocblaslt/src/kernels/compile_code_object.sh
4041
@@ -20,6 +20,8 @@
@@ -52,6 +53,8 @@ index 4ff71ea0..04ab923d 100644
5253

5354
-rocm_path="${ROCM_PATH:-/opt/rocm}"
5455
-clang_path="${rocm_path}/bin/amdclang++"
56+
-$clang_path -x hip "$sources" --offload-arch="${archs}" -c --offload-device-only -Xoffload-linker --build-id=$build_id_kind $additional_options -o "$dest"
57+
\ No newline at end of file
5558
+if [[ -z "$ROCM_PATH" ]]; then
5659
+ clang_path="$(which amdclang++)"
5760
+ if [[ -z "$clang_path" ]]; then
@@ -62,10 +65,9 @@ index 4ff71ea0..04ab923d 100644
6265
+ clang_path="${ROCM_PATH}/bin/amdclang++"
6366
+fi
6467
+
65-
$clang_path -x hip "$sources" --offload-arch="${archs}" -c --offload-device-only -Xoffload-linker --build-id=$build_id_kind $additional_options -o "$dest"
66-
\ No newline at end of file
68+
+$clang_path -x hip "$sources" --offload-arch="${archs}" -c --offload-device-only -Xoffload-linker --build-id=$build_id_kind $additional_options -o "$dest"
6769
diff --git a/tensilelite/Tensile/Ops/gen_assembly.sh b/tensilelite/Tensile/Ops/gen_assembly.sh
68-
index fdc5960d..889e1410 100755
70+
index 4f0bf97e..9329f848 100755
6971
--- a/tensilelite/Tensile/Ops/gen_assembly.sh
7072
+++ b/tensilelite/Tensile/Ops/gen_assembly.sh
7173
@@ -22,19 +22,23 @@
@@ -98,33 +100,31 @@ index fdc5960d..889e1410 100755
98100

99101
IFS=';' read -r -a archs <<< "$archStr"
100102
diff --git a/tensilelite/Tensile/cmake/TensileConfig.cmake b/tensilelite/Tensile/cmake/TensileConfig.cmake
101-
index cf6685a7..a5cb874a 100644
103+
index d542c584..1d57885f 100644
102104
--- a/tensilelite/Tensile/cmake/TensileConfig.cmake
103105
+++ b/tensilelite/Tensile/cmake/TensileConfig.cmake
104106
@@ -210,6 +210,12 @@ function(TensileCreateLibraryFiles
105107
endif()
106108

107-
set(CommandLine ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} ${Script} ${Options} ${Tensile_LOGIC_PATH} ${Tensile_OUTPUT_PATH} HIP)
108-
+ # Tensile relies on the tools from the path, so capture the configure time
109-
+ # path. It would be better if tool paths were explicit, but that would be a pretty
109+
set(CommandLine ${CMAKE_COMMAND} -E env PYTHONPATH=${PROJECT_BINARY_DIR}/lib -- ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} ${Script} ${Options} ${Tensile_LOGIC_PATH} ${Tensile_OUTPUT_PATH} HIP)
110+
+ # Tensile relies on the tools from the path, so capture the configure time
111+
+ # path. It would be better if tool paths were explicit, but that would be a pretty
110112
+ # big change.
111-
+ set(CommandLine
113+
+ set(CommandLine
112114
+ "${CMAKE_COMMAND}" -E env "'PATH=$ENV{PATH}'" --
113-
+ ${CommandLine})
115+
+ ${CommandLine})
114116
message(STATUS "Tensile_CREATE_COMMAND: ${CommandLine}")
115117

116118
if(Tensile_EMBED_LIBRARY)
117-
@@ -275,7 +281,9 @@ function(TensileCreateExtOpLibraries OutputFolder ArchStr)
119+
@@ -270,7 +276,7 @@ function(TensileCreateExtOpLibraries OutputFolder ArchStr TensileExt_LIBRARY_TAR
118120
COMMAND ${CMAKE_COMMAND} -E rm -rf ${build_tmp_dir}
119121
COMMAND ${CMAKE_COMMAND} -E make_directory ${build_tmp_dir}
120122
COMMAND ${CMAKE_COMMAND} -E make_directory ${OutputFolder}
121-
- COMMAND bash "${script}" "\"${Archs}\"" "${build_tmp_dir}" "${VIRTUALENV_HOME_DIR}" "${Tensile_BUILD_ID}"
122-
+ COMMAND
123-
+ "${CMAKE_COMMAND}" -E env "'PATH=$ENV{PATH}'" --
124-
+ bash "${script}" "\"${Archs}\"" "${build_tmp_dir}" "${VIRTUALENV_HOME_DIR}" "${Tensile_BUILD_ID}"
123+
- COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PROJECT_BINARY_DIR}/lib -- bash "${script}" "\"${Archs}\"" "${build_tmp_dir}" "${VIRTUALENV_HOME_DIR}" "${Tensile_BUILD_ID}"
124+
+ COMMAND ${CMAKE_COMMAND} -E env "'PATH=$ENV{PATH}'" PYTHONPATH=${PROJECT_BINARY_DIR}/lib -- bash "${script}" "\"${Archs}\"" "${build_tmp_dir}" "${VIRTUALENV_HOME_DIR}" "${Tensile_BUILD_ID}"
125125
COMMAND ${CMAKE_COMMAND} -E copy ${ext_op_library_path} ${build_tmp_dir}/extop_*.co ${OutputFolder}
126126
)
127127

128128
--
129-
2.34.1
129+
2.43.0
130130

patches/amd-mainline/hipBLASLt/0003-Find-rocm_smi-via-config-files.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From d150c267b4808eb0abab141116add579158d482d Mon Sep 17 00:00:00 2001
1+
From a50ba02dda81965d094aded79852b0d06fb5a8d6 Mon Sep 17 00:00:00 2001
22
From: Marius Brehler <marius.brehler@amd.com>
33
Date: Wed, 12 Mar 2025 22:39:56 +0000
4-
Subject: [PATCH 3/5] Find `rocm_smi` via config files
4+
Subject: [PATCH 3/7] Find `rocm_smi` via config files
55

66
Use the config files provided by upstream instead of a custom finder.
77
---
@@ -11,7 +11,7 @@ Use the config files provided by upstream instead of a custom finder.
1111
delete mode 100644 tensilelite/Tensile/Source/cmake/FindROCmSMI.cmake
1212

1313
diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt
14-
index 02ae47d3..6b662094 100755
14+
index 31a72fe8..96d908e4 100755
1515
--- a/clients/CMakeLists.txt
1616
+++ b/clients/CMakeLists.txt
1717
@@ -97,8 +97,8 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS)
@@ -88,5 +88,5 @@ index a6fa375a..00000000
8888
-
8989
-#set(rocm_smi_root "${hip_LIB_INSTALL_DIR}/../../rocm_smi")
9090
--
91-
2.34.1
91+
2.43.0
9292

patches/amd-mainline/hipBLASLt/0004-Fix-finding-BLAS-and-LAPACK.patch

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
From c92ac8d8319a6820b3d30f6bef7d70a4bcc64571 Mon Sep 17 00:00:00 2001
1+
From 88f840418f8421862fb83411f8c2eeb85cc8800e Mon Sep 17 00:00:00 2001
22
From: Marius Brehler <marius.brehler@amd.com>
33
Date: Wed, 12 Mar 2025 22:41:27 +0000
4-
Subject: [PATCH 4/5] Fix finding BLAS and LAPACK
4+
Subject: [PATCH 4/7] Fix finding BLAS and LAPACK
55

66
So far it is assumed that NETLIB BLAS and LAPACK are avilable without
77
checking. If they are nore, the build fails when trying to link.
@@ -14,7 +14,7 @@ OpenBLAS.
1414
3 files changed, 7 insertions(+), 5 deletions(-)
1515

1616
diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt
17-
index 6b662094..b24ca1c3 100755
17+
index 96d908e4..f69dee9f 100755
1818
--- a/clients/CMakeLists.txt
1919
+++ b/clients/CMakeLists.txt
2020
@@ -92,7 +92,9 @@ if( BUILD_CLIENTS_BENCHMARKS OR BUILD_CLIENTS_TESTS)
@@ -29,10 +29,10 @@ index 6b662094..b24ca1c3 100755
2929

3030
# Find the package ROCmSMI
3131
diff --git a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt
32-
index 99ec31f3..0d70d528 100644
32+
index e05b1f09..39aa4e8c 100644
3333
--- a/clients/benchmarks/CMakeLists.txt
3434
+++ b/clients/benchmarks/CMakeLists.txt
35-
@@ -76,9 +76,9 @@ endif()
35+
@@ -80,9 +80,9 @@ endif()
3636
# target_compile_options does not go to linker like CMAKE_CXX_FLAGS does, so manually add
3737
if (NOT WIN32)
3838
if (BUILD_CUDA)
@@ -45,10 +45,10 @@ index 99ec31f3..0d70d528 100644
4545
list( APPEND COMMON_LINK_LIBS "-lm -lstdc++fs")
4646

4747
diff --git a/clients/gtest/CMakeLists.txt b/clients/gtest/CMakeLists.txt
48-
index cbedcfa4..eec47b6f 100644
48+
index 694670a3..64cd576a 100644
4949
--- a/clients/gtest/CMakeLists.txt
5050
+++ b/clients/gtest/CMakeLists.txt
51-
@@ -85,9 +85,9 @@ target_compile_options(hipblaslt-test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${COMMON
51+
@@ -90,9 +90,9 @@ target_compile_options(hipblaslt-test PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${COMMON
5252
# target_compile_options does not go to linker like CMAKE_CXX_FLAGS does, so manually add
5353

5454
if (BUILD_CUDA)
@@ -61,5 +61,5 @@ index cbedcfa4..eec47b6f 100644
6161

6262
list( APPEND COMMON_LINK_LIBS "-lm -lstdc++fs")
6363
--
64-
2.34.1
64+
2.43.0
6565

patches/amd-mainline/hipBLASLt/0005-Update-packaging-in-pip-venv-to-stabilize-setuptools.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
From 4311b6c3ec948bd819a3413d83435307378ccaa8 Mon Sep 17 00:00:00 2001
1+
From a6becad02a9019ebef81ca4a5f451cab3e36b9c9 Mon Sep 17 00:00:00 2001
22
From: Scott Todd <scott.todd0@gmail.com>
33
Date: Thu, 6 Mar 2025 15:17:08 -0800
4-
Subject: [PATCH 5/5] Update 'packaging' in pip venv to stabilize setuptools.
4+
Subject: [PATCH 5/7] Update 'packaging' in pip venv to stabilize setuptools.
55

66
When using setuptools>=71.0.0 and packaging<22.0, setuptools may fail with `TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'`.
77
---
88
cmake/virtualenv.cmake | 4 ++++
99
1 file changed, 4 insertions(+)
1010

1111
diff --git a/cmake/virtualenv.cmake b/cmake/virtualenv.cmake
12-
index 82bb6d94..a80fb337 100644
12+
index 7b4a78fe..96531ad2 100644
1313
--- a/cmake/virtualenv.cmake
1414
+++ b/cmake/virtualenv.cmake
1515
@@ -35,6 +35,10 @@ function(virtualenv_install)
@@ -24,5 +24,5 @@ index 82bb6d94..a80fb337 100644
2424
COMMAND ${VIRTUALENV_BIN_DIR}/${VIRTUALENV_PYTHON_EXENAME} -m pip install ${ARGN}
2525
COMMAND_ECHO STDOUT
2626
--
27-
2.34.1
27+
2.43.0
2828

patches/amd-mainline/hipBLASLt/0006-Build-hipblas-sequence-on-non-Ubuntu-systems.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
From fa0eb8bcd1c5cf46243a1e1d070172d7309dfb4a Mon Sep 17 00:00:00 2001
1+
From 294d4db2ad360dd6603cf7358d3410ad19f75e72 Mon Sep 17 00:00:00 2001
22
From: Marius Brehler <marius.brehler@amd.com>
33
Date: Tue, 18 Mar 2025 12:14:21 +0000
4-
Subject: [PATCH 6/6] Build `hipblas-sequence` on non-Ubuntu systems
4+
Subject: [PATCH 6/7] Build `hipblas-sequence` on non-Ubuntu systems
55

66
---
77
clients/benchmarks/CMakeLists.txt | 64 +++++++++++++++----------------
88
1 file changed, 30 insertions(+), 34 deletions(-)
99

1010
diff --git a/clients/benchmarks/CMakeLists.txt b/clients/benchmarks/CMakeLists.txt
11-
index 0d70d528..269cea79 100644
11+
index 39aa4e8c..1e0f8940 100644
1212
--- a/clients/benchmarks/CMakeLists.txt
1313
+++ b/clients/benchmarks/CMakeLists.txt
14-
@@ -107,42 +107,38 @@ add_executable( hipblaslt-bench-extop-matrixtransform client_extop_matrixtransfo
14+
@@ -118,42 +118,38 @@ add_executable( hipblaslt-bench-extop-matrixtransform client_extop_matrixtransfo
1515
add_executable( hipblaslt-bench-extop-softmax client_extop_softmax.cpp ../common/hipblaslt_random.cpp)
1616
add_executable( hipblaslt-bench-extop-amax client_extop_amax.cpp ../common/hipblaslt_random.cpp)
17-
set(ext_bench_list_all hipblaslt-bench-groupedgemm-fixed-mk hipblaslt-bench-extop-layernorm hipblaslt-bench-extop-matrixtransform hipblaslt-bench-extop-softmax hipblaslt-bench-extop-amax)
17+
set(ext_bench_list_all hipblaslt-api-overhead hipblaslt-bench-groupedgemm-fixed-mk hipblaslt-bench-extop-layernorm hipblaslt-bench-extop-matrixtransform hipblaslt-bench-extop-softmax hipblaslt-bench-extop-amax)
1818
-# Currently only build this for Ubuntu because other distro's llvm-dev version is not matching the rocm's version.
1919
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
2020
- file(READ "/etc/os-release" OS_RELEASE)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
From 121342dcded7994a5fdf19d3256b50ae86f92454 Mon Sep 17 00:00:00 2001
2+
From: Stella Laurenzo <stellaraccident@gmail.com>
3+
Date: Tue, 8 Apr 2025 14:34:29 -0700
4+
Subject: [PATCH 7/7] Skip clock reset if rocm-smi is not available.
5+
6+
* Pinning clocks was already conditioned on this, so the cleanup logic should also be.
7+
---
8+
tensilelite/Tensile/Common/GlobalParameters.py | 12 +++++++++---
9+
1 file changed, 9 insertions(+), 3 deletions(-)
10+
11+
diff --git a/tensilelite/Tensile/Common/GlobalParameters.py b/tensilelite/Tensile/Common/GlobalParameters.py
12+
index 8ec5f326..58dd69f4 100644
13+
--- a/tensilelite/Tensile/Common/GlobalParameters.py
14+
+++ b/tensilelite/Tensile/Common/GlobalParameters.py
15+
@@ -549,7 +549,10 @@ def assignGlobalParameters(config, isaInfoMap: Dict[IsaVersion, IsaInfo]):
16+
globalParameters["CmakeCCompiler"] = os.environ.get("CMAKE_C_COMPILER")
17+
18+
globalParameters["ROCmBinPath"] = os.path.join(globalParameters["ROCmPath"], "bin")
19+
- globalParameters["ROCmSMIPath"] = locateExe(globalParameters["ROCmBinPath"], "rocm-smi")
20+
+ try:
21+
+ globalParameters["ROCmSMIPath"] = locateExe(globalParameters["ROCmBinPath"], "rocm-smi")
22+
+ except OSError:
23+
+ printWarning("Could not find rocm-smi: features relying on it will be ignored")
24+
globalParameters["ROCmLdPath"] = locateExe(
25+
os.path.join(globalParameters["ROCmPath"], "llvm/bin"), "ld.lld"
26+
)
27+
@@ -624,9 +627,12 @@ def setupRestoreClocks():
28+
29+
def restoreClocks():
30+
if globalParameters["PinClocks"]:
31+
+ # Clocks will only be pinned if rocm-smi is available, therefore
32+
+ # we only need to restore if found.
33+
rsmi = globalParameters["ROCmSMIPath"]
34+
- subprocess.call([rsmi, "-d", "0", "--resetclocks"])
35+
- subprocess.call([rsmi, "-d", "0", "--setfan", "50"])
36+
+ if rsmi is not None:
37+
+ subprocess.call([rsmi, "-d", "0", "--resetclocks"])
38+
+ subprocess.call([rsmi, "-d", "0", "--setfan", "50"])
39+
40+
atexit.register(restoreClocks)
41+
42+
--
43+
2.43.0
44+

0 commit comments

Comments
 (0)