summaryrefslogtreecommitdiff
path: root/dev-util/roctracer
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
commitd69399c7befdd98cda62d6a1788ae2aa7f104c5e (patch)
treeeac7184f4cfe7d67580c1d0a0d9942a91e6cb4ee /dev-util/roctracer
parente4d9d6796d5018e338f0b27a3bc97716195bf0b8 (diff)
gentoo auto-resync : 07:01:2025 - 06:41:06
Diffstat (limited to 'dev-util/roctracer')
-rw-r--r--dev-util/roctracer/Manifest3
-rw-r--r--dev-util/roctracer/files/roctracer-6.3.0-fix-prettyprinter.patch67
-rw-r--r--dev-util/roctracer/roctracer-6.3.0.ebuild110
3 files changed, 180 insertions, 0 deletions
diff --git a/dev-util/roctracer/Manifest b/dev-util/roctracer/Manifest
index 184ea494467b..07ab2f36b716 100644
--- a/dev-util/roctracer/Manifest
+++ b/dev-util/roctracer/Manifest
@@ -8,14 +8,17 @@ AUX roctracer-5.3.3-do-not-install-test-files.patch 1948 BLAKE2B 1eeb7443b4cb4c6
AUX roctracer-5.3.3-flat-lib-layout.patch 1842 BLAKE2B dc7f2832e2bd4e04bad75ccd22e8e2e32353cec745521e8baf4d98772d0994efa08289e5563eb3191d78a2fa4deb1681551e582d08e9608b98fe72f599146a2f SHA512 967eab41a909a7369791bd0946ef4304473e2f763d2e4f497f5b7ddba3b81b9eb18ea72a815b2211bcb82ec87eebe817daf1788f7d44f8c4494a06c77be9d902
AUX roctracer-5.3.3-rocm-path.patch 788 BLAKE2B ef0c9025bfb126e437f73149962c04661a5a5c33ee0c36e18854fa93bac591905cdc23e17fc2faf07659c5828de9361139e618752de3818b3b134e3536cd0c4b SHA512 f639b040871a43e23e7bf57a2214bf255032e3a5f9a20e08eae160bb0d371fb26fa147aefce20577935e40274779dbb150d445e044a22c7aeedc4e10b9865350
AUX roctracer-5.7.1-with-tests.patch 199 BLAKE2B 82061cd9966e59c10cb628173aca44cc869840fe8d1c9a0c6c2c9fb81a5b4fef04e2cd83e03188e77eeec305bd5ec598be04a71c6d558b8e3fb361c0a0aa976d SHA512 08b51740c7aee79cc7117e2c41b4dbf7ddf7c2b08326518785cec6687803e7b94f4dfcd70bc5b5e86e8788a2b18b220034262108bae5264e5e7c47c86c4eb9af
+AUX roctracer-6.3.0-fix-prettyprinter.patch 4079 BLAKE2B 55e9bbef2f9238fa1cc5035bb846495e1fb350ea1e53b68d0d39d25a1aa1943a948b7554e2ea440c547fb5903f8f370c65a2c05098849d36884cc2e5f13a932c SHA512 e1b74f692d765f3a3767ac10cb79e4c5b3bc8d656d0212e731b56955f8e92e8ebacd28d4c8fe1b0464363080c37088829fecc8ff2be0b3f1c7747b6b1a612716
DIST hsa-class-f8b3870.tar.gz 37432 BLAKE2B c2a09e4a4c3708e8db432378874c63b9cefefb567ad19a9c17181ed2b60f38d0591a618f72b11f606eb44efc5e170adaf72f0ec1b93cde628ca2230a62e2d6de SHA512 f371a955bf59b7e0af07261981a6e68562fad0753d3f39d1e220034c17501abf839ed2fd88fbf376d659970395c8795a82c0560c7ed8d3b87c11c79864f5f612
DIST rocm-tracer-5.1.3.tar.gz 511617 BLAKE2B 4142979b3b7d649798a7ac0b2a04b42aa7fbcbf82f2cf51b0e5363ec0da538046d6e59283d0ce1bfd341317bf24ac2f694d5c8a7d1f132f9b21caea5caf7eda3 SHA512 e73b0c921ffbdcac571d8b0825de39bd8a4fd5f2720ecdd0c189951db85efb607a0b1cd7a9bb02b3dbf329b277cb5e197525216a8e8927eea4e6ce290b7e7c7b
DIST rocm-tracer-5.3.3.tar.gz 353041 BLAKE2B b7614707ae3af2f5a46d058dacadfb0ef3b980963ac49face66a80c8396e66cf13e0430ab41737ba15e163f5da03697376b13238ea1decfe7ee4a7f31c7664a5 SHA512 95a202f76f6b68a35942750233bd09d372a9be843150d7ec02824da13c6b9a7c8da7a752ac69f66776e7ccfb6176473745dc46a7baadfe77c99c0596fbc2ffeb
DIST rocprofiler-5.1.3.tar.gz 1402172 BLAKE2B 16e9b127ede94a3f96056e84a2942b6c9f3aec90579fb12796ab8ba385160aa020e3dc77f7a475dadbc0a813a823ae733ca9560f6a09e55c4c82b13dd792dfa4 SHA512 6e9932a425eaaa2a1e1741280d7525c6360700f85edb3bcf4967fe9be4fed662bae0d2ba609701f0d9733769c340e93e32076024b27bab3303449c1d68d9e1ce
DIST roctracer-5.7.1.tar.gz 354686 BLAKE2B 2e72d8df5cf53a913102a715dab55f7c6d33b2d4a9cad7647a61824deba0363cf3dbf96d8de3469a78d6b5c8e517c163c303bf6aa12eeaf8e43f82ac8381ef97 SHA512 62cf62fc505955426596bd6d539c92f4d730d90d820d817343525f1b7be693290727c8c447ca98b1a0e46d1d188b62b3f4fafcf6bffbf2479fc5d937fb354e13
DIST roctracer-6.1.1.tar.gz 396688 BLAKE2B e332c3a6056d1678e3da511878fd2710a4eaa02526cd1e7353dd1dbcba776cb77e6e431d90daf5f238ec7793fc8e9f51afd7f09992f70b26c7e3aab28bb319a9 SHA512 d59c367953b1d5df0daae96746095e2e19f706f43b5ebed3d45c15d23697e9c99c1623bbb8dfa001648fdeda172a3c1d820d884b6da3946addec8f4b9a86e5dc
+DIST roctracer-6.3.0.tar.gz 397368 BLAKE2B 450e99cd90df80f60ec455a94148258b8fcef4adb1babb795c3e66bca648b51cd0b67a9e8f413e601c5f77d0292e70c443d3695198f2e4dcd6058c9e21485198 SHA512 6f29e5f12e1c499ab57ed3c869801742bf71d645852bebd3a887e34f382e6da6df910ab7921232887ea10e95eafa085794e7795e08d3e73cbe225d5967c59620
EBUILD roctracer-5.1.3-r1.ebuild 2415 BLAKE2B c0737eb18ae261221c98ce271e2125cb6c0a36771cb681fb6a3163c64e73158da9dc1f1bbcdb4e3a51b75b8bea50a69344deaa3b45b33af05908ee276b2f4868 SHA512 088ac0b65323a618703c068bfbceafcf201c97c9d2ec9e87cdb4c819fbe03fb31ea9a528358773ab89c03402a6f04fff5e53190d38a0cea85d0ae53bd657bf46
EBUILD roctracer-5.3.3-r1.ebuild 1659 BLAKE2B d0ef879f789b5fe49985a09fb23da11386ae2629398741224176e723a88f51ea147429eae036b53fab7c0aea66515e24b8a91f89846099343f434799f182aefa SHA512 dfa1e198644882d2d4b0a31c812c46b5e4b902368a9380986aa0590ad592ef68bda3c341043ad9f11ef08a8e41aa0c4096686cbf9636c8412331ed9b0134ccce
EBUILD roctracer-5.7.1-r1.ebuild 2230 BLAKE2B db3912e3ece9c6bd934832e91addab4d896d75ddd59e348c539066b394335f9c83fb081d4225072485eb6cde2fb2b257439b12d953efe51e38c91a32291daa3f SHA512 591ea6fb59e2bbf4a27ba3891d0de346c6a625518cd4bc67c83749abc38db7b95d9bf6ccd653f550676cad01917cae2cb84cbeb57efe942476201ed7bbcd9b4e
EBUILD roctracer-6.1.1-r1.ebuild 2711 BLAKE2B e5975296167127f7487280752b16b2daf1a024180cf4a143c48f6bd1462c128a7f385d0ec3885479786ce338065a6aa512fb783e7d8ea6f249a713e8b2a548c8 SHA512 7144c0fdeac1977069257d1e2f4560d2f3c751d6fc862e82da896a56566705bd423ec79331e085cc18d1c1ae1b8dfdf81fbea68540158021f080a5528c1bffad
+EBUILD roctracer-6.3.0.ebuild 2832 BLAKE2B 9bc2d4f4310b5100e87f3dafe8a0451f7ad9bef22529f16bb27c96fec8ebaaa14e7dfeab06312d95ed5db212990cd2ad1edc484be605057ec4267f1dda5ffbfd SHA512 6f8cb042d64c502799b0108661c935f4844c8fa82f7471296cbc14a47806e24454271079b5fe965e3decea90ec72f2a5483d8ef6c2678c60ce52f0f40287e58c
MISC metadata.xml 717 BLAKE2B 9705d469093d1851c10e8f727b43300a1fbe1746057114ddeaa38520a094a8906c1a8bd13869e3f84ffff652b68823f63522685a97ab3d3f0fdcb52283fc27bd SHA512 d6ff1910d66ed3990e965826f0df28c74b9b6287f4dc4d619425c2803a1092bcd1c7d8dc9776e5ae3366a31f3a56d498b0ffaf8f7c336af623df02421de26430
diff --git a/dev-util/roctracer/files/roctracer-6.3.0-fix-prettyprinter.patch b/dev-util/roctracer/files/roctracer-6.3.0-fix-prettyprinter.patch
new file mode 100644
index 000000000000..d6f5191de6d4
--- /dev/null
+++ b/dev-util/roctracer/files/roctracer-6.3.0-fix-prettyprinter.patch
@@ -0,0 +1,67 @@
+--- a/script/gen_ostream_ops.py
++++ b/script/gen_ostream_ops.py
+@@ -242,7 +242,15 @@ def gen_cppheader(infilepath, outfilepath, rank):
+ if c == 'max_align_t' or c == '__fsid_t': # Skipping as it is defined in multiple domains
+ continue
+ if len(cppHeader.classes[c]["properties"]["public"]) != 0:
+- output_filename_h.write("inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n")
++ print_c = ("typename " + c) if '>::' in c else c
++
++ if '<T' in c:
++ output_filename_h.write("template <typename T>\n")
++ elif c == 'HIP_vector_type':
++ output_filename_h.write("template<typename T, unsigned int rank>\n")
++ print_c = 'HIP_vector_type<T, rank>'
++
++ output_filename_h.write("inline static std::ostream& operator<<(std::ostream& out, const " + print_c + "& v)\n")
+ output_filename_h.write("{\n")
+ output_filename_h.write(" std::operator<<(out, '{');\n")
+ output_filename_h.write(" " + apiname.upper() + "_depth_max_cnt++;\n")
+@@ -257,7 +265,13 @@ def gen_cppheader(infilepath, outfilepath, rank):
+ output_filename_h.write(" return out;\n")
+ output_filename_h.write("}\n")
+ global_str = ''
+- global_ops += "inline static std::ostream& operator<<(std::ostream& out, const " + c + "& v)\n" + "{\n" + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, v);\n" + " return out;\n" + "}\n\n"
++
++ if '<T' in c:
++ global_ops += "template <typename T>\n"
++ elif c == 'HIP_vector_type':
++ global_ops += "template<typename T, unsigned int rank>\n"
++
++ global_ops += "inline static std::ostream& operator<<(std::ostream& out, const " + print_c + "& v)\n" + "{\n" + " roctracer::" + apiname.lower() + "_support::detail::operator<<(out, v);\n" + " return out;\n" + "}\n\n"
+
+ if rank == 1 or rank == 2:
+ footer = '// end ostream ops for '+ apiname + ' \n'
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -61,11 +61,19 @@ add_custom_command(
+ "${HSA_RUNTIME_INC_PATH}/hsa_ext_image.h" "${HSA_RUNTIME_INC_PATH}/hsa_api_trace.h"
+ COMMENT "Generating hsa_prof_str.h,hsa_prof_str.inline.h...")
+
++set(SYSTEM_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/system-headers)
++
++execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${SYSTEM_HEADERS_DIR}")
++execute_process(COMMAND ${CMAKE_COMMAND} -E touch "${SYSTEM_HEADERS_DIR}/array")
++execute_process(COMMAND ${CMAKE_COMMAND} -E touch "${SYSTEM_HEADERS_DIR}/iosfwd")
++execute_process(COMMAND ${CMAKE_COMMAND} -E touch "${SYSTEM_HEADERS_DIR}/type_traits")
++
++
+ ## Generate the HSA pretty printers
+ add_custom_command(
+ OUTPUT hsa_ostream_ops.h
+- COMMAND ${CMAKE_C_COMPILER} -E "${HSA_RUNTIME_INC_PATH}/hsa.h" -o hsa.h.i
+- COMMAND ${CMAKE_C_COMPILER} -E "${HSA_RUNTIME_INC_PATH}/hsa_ext_amd.h" -o hsa_ext_amd.h.i
++ COMMAND ${CMAKE_C_COMPILER} -nostdinc++ -isystem ${SYSTEM_HEADERS_DIR} -E "${HSA_RUNTIME_INC_PATH}/hsa.h" -o hsa.h.i
++ COMMAND ${CMAKE_C_COMPILER} -nostdinc++ -isystem ${SYSTEM_HEADERS_DIR} -E "${HSA_RUNTIME_INC_PATH}/hsa_ext_amd.h" -o hsa_ext_amd.h.i
+ BYPRODUCTS hsa.h.i hsa_ext_amd.h.i
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/script/gen_ostream_ops.py
+ -in hsa.h.i,hsa_ext_amd.h.i -out hsa_ostream_ops.h > /dev/null
+@@ -83,7 +91,7 @@ find_file(HIP_RUNTIME_API_H hip_runtime_api.h
+ ## Generate the HIP pretty printers
+ add_custom_command(
+ OUTPUT hip_ostream_ops.h
+- COMMAND ${CMAKE_C_COMPILER} "$<$<BOOL:${HIP_INCLUDE_DIRECTORIES}>:-I$<JOIN:${HIP_INCLUDE_DIRECTORIES},$<SEMICOLON>-I>>"
++ COMMAND ${CMAKE_C_COMPILER} -nostdinc++ -isystem ${SYSTEM_HEADERS_DIR} "$<$<BOOL:${HIP_INCLUDE_DIRECTORIES}>:-I$<JOIN:${HIP_INCLUDE_DIRECTORIES},$<SEMICOLON>-I>>"
+ -E "${CMAKE_CURRENT_SOURCE_DIR}/roctracer/hip_full_api.h" -D__HIP_PLATFORM_AMD__=1 -D__HIP_ROCclr__=1 -o hip_runtime_api.h.i
+ BYPRODUCTS hip_runtime_api.h.i
+ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/script/gen_ostream_ops.py
diff --git a/dev-util/roctracer/roctracer-6.3.0.ebuild b/dev-util/roctracer/roctracer-6.3.0.ebuild
new file mode 100644
index 000000000000..5f78918de05c
--- /dev/null
+++ b/dev-util/roctracer/roctracer-6.3.0.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+ROCM_VERSION=${PV}
+
+inherit cmake flag-o-matic prefix python-any-r1 rocm toolchain-funcs
+
+DESCRIPTION="Callback/Activity Library for Performance tracing AMD GPU's"
+HOMEPAGE="https://github.com/ROCm/roctracer"
+SRC_URI="https://github.com/ROCm/roctracer/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/roctracer-rocm-${PV}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-util/hip:${SLOT}
+ dev-libs/rocr-runtime
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(python_gen_any_dep '
+ dev-python/cppheaderparser[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+ ')
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-with-tests.patch"
+ "${FILESDIR}/${PN}-6.3.0-fix-prettyprinter.patch"
+)
+
+python_check_deps() {
+ python_has_version "dev-python/cppheaderparser[${PYTHON_USEDEP}]" \
+ "dev-python/ply[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ hprefixify script/*.py
+ eapply $(prefixify_ro "${FILESDIR}/${PN}"-5.3.3-rocm-path.patch)
+
+ # Install libs directly into /usr/lib64
+ sed -e "s:\${CMAKE_INSTALL_LIBDIR}/\${PROJECT_NAME}:\${CMAKE_INSTALL_LIBDIR}:g" \
+ -i src/CMakeLists.txt plugin/file/CMakeLists.txt || die
+
+ # Remove all install commands for tests
+ sed -E '/^ *install\(.+/d' -i test/CMakeLists.txt || die
+
+ # Test fails: https://github.com/ROCm/roctracer/issues/109
+ sed '/load_unload_reload_test/d' -i test/run.sh || die
+
+ # Fix search path for HIP cmake
+ sed -e "s,\${ROCM_PATH}/lib/cmake,/usr/$(get_libdir)/cmake,g" -i test/CMakeLists.txt || die
+
+ # bug #892732
+ sed -e 's/-Werror//' -i CMakeLists.txt || die
+
+ # libc++ may have no experimental/filesystem
+ sed -e 's|experimental/||' -e 's|experimental::||' \
+ -i plugin/file/file.cpp src/hip_stats/hip_stats.cpp \
+ src/roctracer/loader.h src/tracer_tool/tracer_tool.cpp || die
+}
+
+src_configure() {
+ rocm_use_hipcc
+
+ if [[ $(tc-get-cxx-stdlib) == "libc++" ]] ; then
+ # https://releases.llvm.org/9.0.0/projects/libcxx/docs/UsingLibcxx.html#using-filesystem
+ append-libs "-lc++fs"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_MODULE_PATH="${EPREFIX}/usr/$(get_libdir)/cmake/hip"
+ -DFILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DWITH_TESTS=$(usex test)
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ use test && mycmakeargs+=(
+ -DHIP_ROOT_DIR="${EPREFIX}/usr"
+ -DGPU_TARGETS="$(get_amdgpu_flags)"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ cd "${BUILD_DIR}" || die
+ # if LD_LIBRARY_PATH not set, dlopen cannot find correct lib
+ LD_LIBRARY_PATH="${EPREFIX}/usr/$(get_libdir):${LD_LIBRARY_PATH}" bash run.sh || die
+}
+
+src_install() {
+ cmake_src_install
+
+ # remove unneeded copy
+ rm -r "${ED}/usr/share/doc/${PF}-asan" || die
+}