1 |
commit: 8d85fce7add919ffa04f44b0e1b148eec6f7c471 |
2 |
Author: Yiyang Wu <xgreenlandforwyy <AT> gmail <DOT> com> |
3 |
AuthorDate: Fri Jan 27 13:57:24 2023 +0000 |
4 |
Commit: Benda XU <heroxbd <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jan 31 14:18:25 2023 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8d85fce7 |
7 |
|
8 |
dev-util/roctracer: add 5.3.3 |
9 |
|
10 |
Add myself as maintainer; use rocm.eclass to enable test. |
11 |
|
12 |
All tests passed on gfx1031 |
13 |
|
14 |
Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com> |
15 |
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org> |
16 |
|
17 |
dev-util/roctracer/Manifest | 1 + |
18 |
...roctracer-5.3.3-do-not-install-test-files.patch | 37 +++++++++++++ |
19 |
.../files/roctracer-5.3.3-flat-lib-layout.patch | 34 ++++++++++++ |
20 |
.../files/roctracer-5.3.3-rocm-path.patch | 12 ++++ |
21 |
dev-util/roctracer/metadata.xml | 4 ++ |
22 |
dev-util/roctracer/roctracer-5.3.3.ebuild | 64 ++++++++++++++++++++++ |
23 |
6 files changed, 152 insertions(+) |
24 |
|
25 |
diff --git a/dev-util/roctracer/Manifest b/dev-util/roctracer/Manifest |
26 |
index 890787a739ee..26b776a9f8a0 100644 |
27 |
--- a/dev-util/roctracer/Manifest |
28 |
+++ b/dev-util/roctracer/Manifest |
29 |
@@ -1,5 +1,6 @@ |
30 |
DIST hsa-class-f8b3870.tar.gz 37432 BLAKE2B c2a09e4a4c3708e8db432378874c63b9cefefb567ad19a9c17181ed2b60f38d0591a618f72b11f606eb44efc5e170adaf72f0ec1b93cde628ca2230a62e2d6de SHA512 f371a955bf59b7e0af07261981a6e68562fad0753d3f39d1e220034c17501abf839ed2fd88fbf376d659970395c8795a82c0560c7ed8d3b87c11c79864f5f612 |
31 |
DIST rocm-tracer-5.0.2.tar.gz 474669 BLAKE2B b350111590140e1282338e4f134caf6228677c49361ceb9bc7ba0da8709346daa4fd014644c04adff0e903dba6014a84edd2eb3a5c132a8f91b479e4d5b085e5 SHA512 3fc1449cc9c9bf83e5233a7a0e83c0e3fa9da225d5ee4427b7d6fa15e3580497e1b9fbcd63892e4a99df01582aecd3ccfd66d2a19af2d8c25949ee705894ea44 |
32 |
DIST rocm-tracer-5.1.3.tar.gz 511617 BLAKE2B 4142979b3b7d649798a7ac0b2a04b42aa7fbcbf82f2cf51b0e5363ec0da538046d6e59283d0ce1bfd341317bf24ac2f694d5c8a7d1f132f9b21caea5caf7eda3 SHA512 e73b0c921ffbdcac571d8b0825de39bd8a4fd5f2720ecdd0c189951db85efb607a0b1cd7a9bb02b3dbf329b277cb5e197525216a8e8927eea4e6ce290b7e7c7b |
33 |
+DIST rocm-tracer-5.3.3.tar.gz 353041 BLAKE2B b7614707ae3af2f5a46d058dacadfb0ef3b980963ac49face66a80c8396e66cf13e0430ab41737ba15e163f5da03697376b13238ea1decfe7ee4a7f31c7664a5 SHA512 95a202f76f6b68a35942750233bd09d372a9be843150d7ec02824da13c6b9a7c8da7a752ac69f66776e7ccfb6176473745dc46a7baadfe77c99c0596fbc2ffeb |
34 |
DIST rocprofiler-5.0.2.tar.gz 1401732 BLAKE2B ae870bc50dbd39c11e24f77ccb41773df1107b76cb7a12e1cebc66f8d66ddba6ad3bd6f9fe61657b03b22ef35f88fb608cf6070178f6aab24fe7a1bdcac43a96 SHA512 244e2b827126b7299ec0510daa5e1245a4a5a877394419f8bc9113f443231f67fc935609cbde6eeb26bb138ab4e95e2a88829ffa79ecc8f9881b5a77b5910c02 |
35 |
DIST rocprofiler-5.1.3.tar.gz 1402172 BLAKE2B 16e9b127ede94a3f96056e84a2942b6c9f3aec90579fb12796ab8ba385160aa020e3dc77f7a475dadbc0a813a823ae733ca9560f6a09e55c4c82b13dd792dfa4 SHA512 6e9932a425eaaa2a1e1741280d7525c6360700f85edb3bcf4967fe9be4fed662bae0d2ba609701f0d9733769c340e93e32076024b27bab3303449c1d68d9e1ce |
36 |
|
37 |
diff --git a/dev-util/roctracer/files/roctracer-5.3.3-do-not-install-test-files.patch b/dev-util/roctracer/files/roctracer-5.3.3-do-not-install-test-files.patch |
38 |
new file mode 100644 |
39 |
index 000000000000..ac3e53c1f405 |
40 |
--- /dev/null |
41 |
+++ b/dev-util/roctracer/files/roctracer-5.3.3-do-not-install-test-files.patch |
42 |
@@ -0,0 +1,37 @@ |
43 |
+Remove all install commands for test |
44 |
+=================================================================== |
45 |
+--- roctracer-rocm-5.3.3.orig/test/CMakeLists.txt |
46 |
++++ roctracer-rocm-5.3.3/test/CMakeLists.txt |
47 |
+@@ -87,7 +87,6 @@ function(generate_hsaco TARGET_ID INPUT_ |
48 |
+ DEPENDS ${INPUT_FILE} clang |
49 |
+ COMMENT "Building ${OUTPUT_FILE}..." |
50 |
+ VERBATIM) |
51 |
+- install(FILES ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} DESTINATION test/${PROJECT_NAME} COMPONENT tests) |
52 |
+ set(HSACO_TARGET_LIST ${HSACO_TARGET_LIST} ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} PARENT_SCOPE) |
53 |
+ endfunction(generate_hsaco) |
54 |
+ |
55 |
+@@ -150,24 +149,10 @@ add_dependencies(mytest dlopen) |
56 |
+ ## Copy the golden traces and test scripts |
57 |
+ configure_file(run.sh ${PROJECT_BINARY_DIR} COPYONLY) |
58 |
+ execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink run.sh ${PROJECT_BINARY_DIR}/run_ci.sh) |
59 |
+-install(PROGRAMS ${PROJECT_BINARY_DIR}/run.sh DESTINATION test/${PROJECT_NAME} COMPONENT tests) |
60 |
+ |
61 |
+ configure_file(${PROJECT_SOURCE_DIR}/script/check_trace.py ${PROJECT_BINARY_DIR}/test/check_trace.py COPYONLY) |
62 |
+-install(PROGRAMS ${PROJECT_BINARY_DIR}/test/check_trace.py DESTINATION test/${PROJECT_NAME}/test COMPONENT tests) |
63 |
+ |
64 |
+ file(GLOB files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "golden_traces/tests_trace_cmp_levels.txt" "golden_traces/*_trace.txt") |
65 |
+ foreach(file ${files}) |
66 |
+ configure_file(${file} ${PROJECT_BINARY_DIR}/test/${file} COPYONLY) |
67 |
+ endforeach() |
68 |
+-install(DIRECTORY ${PROJECT_BINARY_DIR}/test/golden_traces DESTINATION test/${PROJECT_NAME}/test COMPONENT tests) |
69 |
+- |
70 |
+-# install all executables |
71 |
+-set(all_executables) |
72 |
+-get_property(all_targets DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY BUILDSYSTEM_TARGETS) |
73 |
+-foreach(target IN LISTS all_targets) |
74 |
+- get_target_property(target_type ${target} TYPE) |
75 |
+- if (target_type STREQUAL "EXECUTABLE") |
76 |
+- list(APPEND all_executables ${target}) |
77 |
+- endif() |
78 |
+-endforeach() |
79 |
+-install(TARGETS ${all_executables} DESTINATION test/${PROJECT_NAME}/test COMPONENT tests) |
80 |
|
81 |
diff --git a/dev-util/roctracer/files/roctracer-5.3.3-flat-lib-layout.patch b/dev-util/roctracer/files/roctracer-5.3.3-flat-lib-layout.patch |
82 |
new file mode 100644 |
83 |
index 000000000000..46c8d1a168b8 |
84 |
--- /dev/null |
85 |
+++ b/dev-util/roctracer/files/roctracer-5.3.3-flat-lib-layout.patch |
86 |
@@ -0,0 +1,34 @@ |
87 |
+Install libs directly into /usr/lib64 |
88 |
+=================================================================== |
89 |
+Index: roctracer-rocm-5.3.3/src/CMakeLists.txt |
90 |
+=================================================================== |
91 |
+--- roctracer-rocm-5.3.3.orig/src/CMakeLists.txt |
92 |
++++ roctracer-rocm-5.3.3/src/CMakeLists.txt |
93 |
+@@ -215,12 +215,12 @@ target_include_directories(roctracer_too |
94 |
+ target_link_libraries(roctracer_tool util roctracer hsa-runtime64::hsa-runtime64 stdc++fs Threads::Threads atomic dl) |
95 |
+ target_link_options(roctracer_tool PRIVATE -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/tracer_tool/exportmap -Wl,--no-undefined) |
96 |
+ |
97 |
+-install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime) |
98 |
++install(TARGETS roctracer_tool LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime) |
99 |
+ |
100 |
+ add_library(hip_stats SHARED hip_stats/hip_stats.cpp) |
101 |
+ target_compile_definitions(hip_stats PRIVATE __HIP_PLATFORM_AMD__) |
102 |
+ target_link_libraries(hip_stats roctracer stdc++fs) |
103 |
+-install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} COMPONENT runtime) |
104 |
++install(TARGETS hip_stats LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime) |
105 |
+ |
106 |
+ endif() |
107 |
+ |
108 |
+Index: roctracer-rocm-5.3.3/plugin/file/CMakeLists.txt |
109 |
+=================================================================== |
110 |
+--- roctracer-rocm-5.3.3.orig/plugin/file/CMakeLists.txt |
111 |
++++ roctracer-rocm-5.3.3/plugin/file/CMakeLists.txt |
112 |
+@@ -38,5 +38,5 @@ target_link_options(file_plugin PRIVATE |
113 |
+ target_link_libraries(file_plugin PRIVATE util roctracer hsa-runtime64::hsa-runtime64 stdc++fs) |
114 |
+ |
115 |
+ install(TARGETS file_plugin LIBRARY |
116 |
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME} |
117 |
+- COMPONENT runtime) |
118 |
+\ No newline at end of file |
119 |
++ DESTINATION ${CMAKE_INSTALL_LIBDIR} |
120 |
++ COMPONENT runtime) |
121 |
|
122 |
diff --git a/dev-util/roctracer/files/roctracer-5.3.3-rocm-path.patch b/dev-util/roctracer/files/roctracer-5.3.3-rocm-path.patch |
123 |
new file mode 100644 |
124 |
index 000000000000..d8cc792b4dbb |
125 |
--- /dev/null |
126 |
+++ b/dev-util/roctracer/files/roctracer-5.3.3-rocm-path.patch |
127 |
@@ -0,0 +1,12 @@ |
128 |
+Append flags for clang to recognize device lib path |
129 |
+=================================================================== |
130 |
+--- roctracer-rocm-5.3.3.orig/test/CMakeLists.txt |
131 |
++++ roctracer-rocm-5.3.3/test/CMakeLists.txt |
132 |
+@@ -80,6 +80,7 @@ add_dependencies(mytest codeobj_test) |
133 |
+ function(generate_hsaco TARGET_ID INPUT_FILE OUTPUT_FILE) |
134 |
+ separate_arguments(CLANG_ARG_LIST UNIX_COMMAND |
135 |
+ "-O2 -x cl -Xclang -finclude-default-header -cl-denorms-are-zero -cl-std=CL2.0 -Wl,--build-id=sha1 |
136 |
++ --rocm-path=@GENTOO_PORTAGE_EPREFIX@/usr --rocm-device-lib-path=@GENTOO_PORTAGE_EPREFIX@/usr/lib/amdgcn/bitcode |
137 |
+ -target amdgcn-amd-amdhsa -mcpu=${TARGET_ID} -o ${OUTPUT_FILE} ${INPUT_FILE}") |
138 |
+ add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/${OUTPUT_FILE} |
139 |
+ COMMAND clang ${CLANG_ARG_LIST} |
140 |
|
141 |
diff --git a/dev-util/roctracer/metadata.xml b/dev-util/roctracer/metadata.xml |
142 |
index 899809591942..1d728a2f4ec4 100644 |
143 |
--- a/dev-util/roctracer/metadata.xml |
144 |
+++ b/dev-util/roctracer/metadata.xml |
145 |
@@ -9,6 +9,10 @@ |
146 |
<email>candrews@g.o</email> |
147 |
<name>Craig Andrews</name> |
148 |
</maintainer> |
149 |
+ <maintainer type="person" proxied="yes"> |
150 |
+ <email>xgreenlandforwyy@×××××.com</email> |
151 |
+ <name>Yiyang Wu</name> |
152 |
+ </maintainer> |
153 |
<maintainer type="person" proxied="yes"> |
154 |
<email>gentoo@××××××.net</email> |
155 |
<name>Wilfried Holzke</name> |
156 |
|
157 |
diff --git a/dev-util/roctracer/roctracer-5.3.3.ebuild b/dev-util/roctracer/roctracer-5.3.3.ebuild |
158 |
new file mode 100644 |
159 |
index 000000000000..a053427379df |
160 |
--- /dev/null |
161 |
+++ b/dev-util/roctracer/roctracer-5.3.3.ebuild |
162 |
@@ -0,0 +1,64 @@ |
163 |
+# Copyright 1999-2023 Gentoo Authors |
164 |
+# Distributed under the terms of the GNU General Public License v2 |
165 |
+ |
166 |
+EAPI=8 |
167 |
+ |
168 |
+PYTHON_COMPAT=( python3_{10..11} ) |
169 |
+ |
170 |
+ROCM_VERSION=${PV} |
171 |
+ |
172 |
+inherit cmake prefix python-any-r1 rocm |
173 |
+ |
174 |
+DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's" |
175 |
+HOMEPAGE="https://github.com/ROCm-Developer-Tools/roctracer.git" |
176 |
+SRC_URI="https://github.com/ROCm-Developer-Tools/roctracer/archive/rocm-${PV}.tar.gz -> rocm-tracer-${PV}.tar.gz" |
177 |
+S="${WORKDIR}/roctracer-rocm-${PV}" |
178 |
+ |
179 |
+LICENSE="MIT" |
180 |
+SLOT="0/$(ver_cut 1-2)" |
181 |
+KEYWORDS="~amd64" |
182 |
+IUSE="test" |
183 |
+RESTRICT="!test? ( test )" |
184 |
+ |
185 |
+RDEPEND="dev-libs/rocr-runtime:${SLOT} |
186 |
+ dev-util/hip:${SLOT}" |
187 |
+DEPEND="${RDEPEND}" |
188 |
+BDEPEND=" |
189 |
+ $(python_gen_any_dep ' |
190 |
+ dev-python/CppHeaderParser[${PYTHON_USEDEP}] |
191 |
+ dev-python/ply[${PYTHON_USEDEP}] |
192 |
+ ') |
193 |
+" |
194 |
+ |
195 |
+PATCHES=( "${FILESDIR}"/roctracer-5.3.3-flat-lib-layout.patch |
196 |
+ "${FILESDIR}"/roctracer-5.3.3-do-not-install-test-files.patch ) |
197 |
+ |
198 |
+python_check_deps() { |
199 |
+ python_has_version "dev-python/CppHeaderParser[${PYTHON_USEDEP}]" \ |
200 |
+ "dev-python/ply[${PYTHON_USEDEP}]" |
201 |
+} |
202 |
+ |
203 |
+src_prepare() { |
204 |
+ cmake_src_prepare |
205 |
+ |
206 |
+ hprefixify script/*.py |
207 |
+ eapply $(prefixify_ro "${FILESDIR}"/${PN}-5.3.3-rocm-path.patch) |
208 |
+} |
209 |
+ |
210 |
+src_configure() { |
211 |
+ export ROCM_PATH="$(hipconfig -p)" |
212 |
+ local mycmakeargs=( |
213 |
+ -DCMAKE_MODULE_PATH="${EPREFIX}/usr/lib64/cmake/hip" |
214 |
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)" |
215 |
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF |
216 |
+ ) |
217 |
+ |
218 |
+ cmake_src_configure |
219 |
+} |
220 |
+ |
221 |
+src_test() { |
222 |
+ check_amdgpu |
223 |
+ cd "${BUILD_DIR}" || die |
224 |
+ # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib |
225 |
+ LD_LIBRARY_PATH="${EPREFIX}"/usr/lib64 bash run.sh || die |
226 |
+} |