mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-libs/rocr-runtime: add 6.3.0, drop 6.2.4
Closes: https://bugs.gentoo.org/940510 Closes: https://bugs.gentoo.org/937528 Closes: https://bugs.gentoo.org/937428 Closes: https://bugs.gentoo.org/935627 Signed-off-by: Sv. Lockal <lockalsash@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -5,4 +5,4 @@ DIST rocr-runtime-5.5.1.tar.gz 816175 BLAKE2B e588d98cbd0d9a753b950ba676d6cddeed
|
||||
DIST rocr-runtime-5.7.1.tar.gz 832009 BLAKE2B 67e4a64ee03b1f6edc43923c7ac44113ab58f78b032dc0a01952b2dd5b2ca37404044811effb9c8d83002ac4ea344a5d95ac62f3c66012bff2884ef55285cdb5 SHA512 a6547a104303032244d17b662a3eda48039732c215debb6178c0af8842c01c60f80989793420c101bd554e58332d215205da0c228dfc25538c56499f47dc6832
|
||||
DIST rocr-runtime-6.1.1.tar.gz 903611 BLAKE2B 175e7267bfd9d70fb805135e765004cf2b43b2d66354f0cef857d417c8dac4ce7638ec1b90a1088324aa5f90ed8354c66b56846115368d68d622a215350d84dd SHA512 5e6e28dee29ef9df9d617f56038b2e52022738d5510833cd8e1738defe1049d0a957db4d9f63bbf55d8efca3a4ea349b95919dd1b6b35b9814ebba575a67af57
|
||||
DIST rocr-runtime-6.1.2.tar.gz 903633 BLAKE2B 058492c6c37bb80e8cdb29752f3f1404ac88108dcfd5137042e4fdaff521db01d64bd14bdcbed9e53b8984f8bbb22b126f1a798bd064c393b5bcf76c1d3311ca SHA512 2893aff72a5fbf03bfde67ab64fcf00f4e10b5e5b11ff4617e94ae0c019a24a9b80601d8629d4e119e6a4957dc0aaf03d645111063979af60090fe3b232a477e
|
||||
DIST rocr-runtime-6.2.4.tar.gz 959982 BLAKE2B a4cc3960c7e559c7c1837e009c998784832c861ca59c0cbf9388c8ae081670b4e45c4e5b032dbd17a4c2efe8708a1330c9ff66c814196e29df5c7a6735a6d3e9 SHA512 cdd84ddf2120f494eec282b78d0858970e0603ea096213f25731af5a97f652d058ff93122bb3a0813c45cb87f625af6f33c2c108d8fb5db63d62674b13e40c71
|
||||
DIST rocr-runtime-6.3.0.tar.gz 2258605 BLAKE2B 53b43a8bc4a327c2138e39db20f5217b2def6866d1b52e48017c41e6c3c8541e6bdce76f5a7669cdffccfb34a4cfa863e56e0ce4058d23c5f38d9d0900903751 SHA512 451e74d88875b8d0a1f21d95c543fd93610d966e69258b50fe4b8796381c58f5ea381384e199e5bcf01a80369a59e5a093d8f318fbe2ed1ca6a97dc915060f7a
|
||||
|
||||
17
dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-ld-lld.patch
Normal file
17
dev-libs/rocr-runtime/files/rocr-runtime-6.2.0-ld-lld.patch
Normal file
@@ -0,0 +1,17 @@
|
||||
Fix "symbol not defined" when linking with ld.lld >= 17
|
||||
https://github.com/ROCm/ROCR-Runtime/issues/204
|
||||
--- a/hsacore.so.def
|
||||
+++ b/hsacore.so.def
|
||||
@@ -247,12 +247,6 @@ global:
|
||||
hsa_amd_vmem_retain_alloc_handle;
|
||||
hsa_amd_vmem_get_alloc_properties_from_handle;
|
||||
hsa_amd_agent_set_async_scratch_limit;
|
||||
- hsa_tools_scratch_event_alloc_start;
|
||||
- hsa_tools_scratch_event_alloc_end;
|
||||
- hsa_tools_scratch_event_free_start;
|
||||
- hsa_tools_scratch_event_free_end;
|
||||
- hsa_tools_scratch_event_async_reclaim_start;
|
||||
- hsa_tools_scratch_event_async_reclaim_end;
|
||||
hsa_ven_amd_pcs_iterate_configuration;
|
||||
hsa_ven_amd_pcs_create;
|
||||
hsa_ven_amd_pcs_create_from_id;
|
||||
@@ -0,0 +1,27 @@
|
||||
libhsa-amd-aqlprofile64 library is not packaged
|
||||
Bug: https://github.com/ROCm/ROCm/issues/1781
|
||||
--- a/core/runtime/amd_gpu_agent.cpp
|
||||
+++ b/core/runtime/amd_gpu_agent.cpp
|
||||
@@ -1333,11 +1333,6 @@ hsa_status_t GpuAgent::GetInfo(hsa_agent_info_t attribute, void* value) const {
|
||||
setFlag(HSA_EXTENSION_AMD_PC_SAMPLING);
|
||||
}
|
||||
|
||||
- if (os::LibHandle lib = os::LoadLib(kAqlProfileLib)) {
|
||||
- os::CloseLib(lib);
|
||||
- setFlag(HSA_EXTENSION_AMD_AQLPROFILE);
|
||||
- }
|
||||
-
|
||||
setFlag(HSA_EXTENSION_AMD_PROFILER);
|
||||
|
||||
break;
|
||||
--- a/core/runtime/hsa.cpp
|
||||
+++ b/core/runtime/hsa.cpp
|
||||
@@ -490,7 +490,7 @@ hsa_status_t hsa_system_get_major_extension_table(uint16_t extension, uint16_t v
|
||||
return HSA_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
- if (extension == HSA_EXTENSION_AMD_AQLPROFILE) {
|
||||
+ if (0) {
|
||||
if (version_major != hsa_ven_amd_aqlprofile_VERSION_MAJOR) {
|
||||
debug_print("aqlprofile API incompatible ver %d, current ver %d\n",
|
||||
version_major, hsa_ven_amd_aqlprofile_VERSION_MAJOR);
|
||||
@@ -0,0 +1,11 @@
|
||||
https://github.com/ROCm/ROCR-Runtime/issues/227
|
||||
--- a/core/inc/amd_elf_image.hpp
|
||||
+++ b/core/inc/amd_elf_image.hpp
|
||||
@@ -47,6 +47,7 @@
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
+#include <cstdint>
|
||||
|
||||
namespace rocr {
|
||||
namespace amd {
|
||||
107
dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch
Normal file
107
dev-libs/rocr-runtime/files/rocr-runtime-6.3.0-musl.patch
Normal file
@@ -0,0 +1,107 @@
|
||||
--- a/runtime/hsa-ext-finalize/CMakeLists.txt
|
||||
+++ b/runtime/hsa-ext-finalize/CMakeLists.txt
|
||||
@@ -101,6 +101,18 @@ if( NOT DEFINED OPEN_SOURCE_DIR )
|
||||
set ( OPEN_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.." )
|
||||
endif()
|
||||
|
||||
+## Check for _GNU_SOURCE pthread extensions
|
||||
+set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
|
||||
+CHECK_SYMBOL_EXISTS ( "pthread_attr_setaffinity_np" "pthread.h" HAVE_PTHREAD_ATTR_SETAFFINITY_NP )
|
||||
+CHECK_SYMBOL_EXISTS ( "pthread_rwlockattr_setkind_np" "pthread.h" HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP )
|
||||
+unset(CMAKE_REQUIRED_DEFINITIONS)
|
||||
+if ( HAVE_PTHREAD_ATTR_SETAFFINITY_NP )
|
||||
+ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_ATTR_SETAFFINITY_NP )
|
||||
+endif()
|
||||
+if ( HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP )
|
||||
+ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP )
|
||||
+endif()
|
||||
+
|
||||
## ------------------------- Linux Compiler and Linker options -------------------------
|
||||
set ( CMAKE_CXX_FLAGS "-std=c++11 " )
|
||||
|
||||
--- a/runtime/hsa-runtime/CMakeLists.txt
|
||||
+++ b/runtime/hsa-runtime/CMakeLists.txt
|
||||
@@ -47,7 +47,7 @@ cmake_minimum_required ( VERSION 3.7 )
|
||||
## Need an update to CMake 3.12 to remove this hack. See CMake policy change CMP0073.
|
||||
unset ( hsa-runtime64_LIB_DEPENDS CACHE )
|
||||
|
||||
-set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
+#_cmake_modify_IGNORE set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
|
||||
## Set core runtime module name and project name.
|
||||
set ( CORE_RUNTIME_NAME "hsa-runtime64" )
|
||||
@@ -109,6 +109,18 @@ if ( HAVE_MEMFD_CREATE )
|
||||
target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_MEMFD_CREATE )
|
||||
endif()
|
||||
|
||||
+## Check for _GNU_SOURCE pthread extensions
|
||||
+set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
|
||||
+CHECK_SYMBOL_EXISTS ( "pthread_attr_setaffinity_np" "pthread.h" HAVE_PTHREAD_ATTR_SETAFFINITY_NP )
|
||||
+CHECK_SYMBOL_EXISTS ( "pthread_rwlockattr_setkind_np" "pthread.h" HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP )
|
||||
+unset(CMAKE_REQUIRED_DEFINITIONS)
|
||||
+if ( HAVE_PTHREAD_ATTR_SETAFFINITY_NP )
|
||||
+ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_ATTR_SETAFFINITY_NP )
|
||||
+endif()
|
||||
+if ( HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP )
|
||||
+ target_compile_definitions(${CORE_RUNTIME_TARGET} PRIVATE HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP )
|
||||
+endif()
|
||||
+
|
||||
## Set include directories for ROCr runtime
|
||||
target_include_directories( ${CORE_RUNTIME_TARGET}
|
||||
PUBLIC
|
||||
--- a/runtime/hsa-runtime/core/util/lnx/os_linux.cpp
|
||||
+++ b/runtime/hsa-runtime/core/util/lnx/os_linux.cpp
|
||||
@@ -137,12 +137,14 @@ class os_thread {
|
||||
for (int i = 0; i < cores; i++) {
|
||||
CPU_SET_S(i, CPU_ALLOC_SIZE(cores), cpuset);
|
||||
}
|
||||
+#ifdef HAVE_PTHREAD_ATTR_SETAFFINITY_NP
|
||||
err = pthread_attr_setaffinity_np(&attrib, CPU_ALLOC_SIZE(cores), cpuset);
|
||||
CPU_FREE(cpuset);
|
||||
if (err != 0) {
|
||||
fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err));
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
do {
|
||||
@@ -165,6 +167,18 @@ class os_thread {
|
||||
}
|
||||
} while (stackSize < 20 * 1024 * 1024);
|
||||
|
||||
+#ifndef HAVE_PTHREAD_ATTR_SETAFFINITY_NP
|
||||
+ if (cores && cpuset) {
|
||||
+ err = pthread_setaffinity_np(thread, CPU_ALLOC_SIZE(cores), cpuset);
|
||||
+ CPU_FREE(cpuset);
|
||||
+ if (err != 0) {
|
||||
+ fprintf(stderr, "pthread_setaffinity_np failed: %s\n", strerror(err));
|
||||
+ thread = 0;
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
args.release();
|
||||
}
|
||||
|
||||
@@ -655,18 +669,12 @@ SharedMutex CreateSharedMutex() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
-#ifdef __GLIBC__
|
||||
+#ifdef HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP
|
||||
err = pthread_rwlockattr_setkind_np(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
|
||||
if (err != 0) {
|
||||
fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err));
|
||||
return nullptr;
|
||||
}
|
||||
-#else
|
||||
- err = pthread_rwlockattr_setkind(&attrib, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
|
||||
- if (err != 0) {
|
||||
- fprintf(stderr, "Set rw lock attribute failure: %s\n", strerror(err));
|
||||
- return nullptr;
|
||||
- }
|
||||
#endif
|
||||
|
||||
pthread_rwlock_t* lock = new pthread_rwlock_t;
|
||||
@@ -0,0 +1,20 @@
|
||||
libhsakmt is a part of dev-libs/roct-thunk-interface
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -96,11 +96,16 @@ if (HSA_DEP_ROCPROFILER_REGISTER)
|
||||
string(APPEND CPACK_RPM_BINARY_PACKAGE_REQUIRES " rocprofiler-register")
|
||||
endif()
|
||||
|
||||
+if (BUILD_HSAKMT)
|
||||
add_rocm_subdir(libhsakmt "${THUNK_DEFINITIONS}")
|
||||
set_target_properties(hsakmt PROPERTIES
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/archive"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/lib"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/libhsakmt/runtime")
|
||||
+else()
|
||||
+ find_package(hsakmt REQUIRED)
|
||||
+ add_library(hsakmt ALIAS hsakmt::hsakmt)
|
||||
+endif()
|
||||
|
||||
if (BUILD_ROCR)
|
||||
add_rocm_subdir(runtime/hsa-runtime "${ROCR_DEFINITIONS}")
|
||||
@@ -33,8 +33,8 @@ IUSE="debug"
|
||||
COMMON_DEPEND="dev-libs/elfutils
|
||||
x11-libs/libdrm"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/roct-thunk-interface-${PV}
|
||||
>=dev-libs/rocm-device-libs-${PV}
|
||||
dev-libs/roct-thunk-interface:${SLOT}
|
||||
dev-libs/rocm-device-libs:${SLOT}
|
||||
$(llvm_gen_dep '
|
||||
llvm-core/clang:${LLVM_SLOT}=
|
||||
llvm-core/lld:${LLVM_SLOT}=
|
||||
|
||||
@@ -3,26 +3,22 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
LLVM_COMPAT=( 18 )
|
||||
LLVM_COMPAT=( 19 )
|
||||
|
||||
inherit cmake flag-o-matic llvm-r1
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/ROCm/ROCR-Runtime/"
|
||||
inherit git-r3
|
||||
S="${WORKDIR}/${P}/src"
|
||||
S="${WORKDIR}/${P}"
|
||||
else
|
||||
SRC_URI="https://github.com/ROCm/ROCR-Runtime/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz"
|
||||
S="${WORKDIR}/ROCR-Runtime-rocm-${PV}/src"
|
||||
S="${WORKDIR}/ROCR-Runtime-rocm-${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Radeon Open Compute Runtime"
|
||||
HOMEPAGE="https://github.com/ROCm/ROCR-Runtime"
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
|
||||
"${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch"
|
||||
)
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
@@ -31,8 +27,8 @@ IUSE="debug"
|
||||
COMMON_DEPEND="dev-libs/elfutils
|
||||
x11-libs/libdrm"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-libs/roct-thunk-interface-${PV}
|
||||
>=dev-libs/rocm-device-libs-${PV}
|
||||
dev-libs/roct-thunk-interface:${SLOT}
|
||||
dev-libs/rocm-device-libs:${SLOT}
|
||||
$(llvm_gen_dep '
|
||||
llvm-core/clang:${LLVM_SLOT}=
|
||||
llvm-core/lld:${LLVM_SLOT}=
|
||||
@@ -42,10 +38,21 @@ RDEPEND="${DEPEND}"
|
||||
BDEPEND="app-editors/vim-core"
|
||||
# vim-core is needed for "xxd"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-6.3.0-use-system-hsakmt.patch"
|
||||
"${FILESDIR}/${PN}-6.3.0-musl.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}/runtime/hsa-runtime" || die
|
||||
eapply "${FILESDIR}/${PN}-4.3.0_no-aqlprofiler.patch"
|
||||
eapply "${FILESDIR}/${PN}-5.7.1-extend-isa-compatibility-check.patch"
|
||||
eapply "${FILESDIR}/${PN}-6.2.2-gcc15-stdint.patch"
|
||||
|
||||
# Gentoo installs "*.bc" to "/usr/lib" instead of a "[path]/bitcode" directory ...
|
||||
sed -e "s:-O2:--rocm-path=${EPREFIX}/usr/lib/ -O2:" -i image/blit_src/CMakeLists.txt || die
|
||||
|
||||
cd "${S}" || die
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
@@ -56,5 +63,6 @@ src_configure() {
|
||||
filter-lto
|
||||
|
||||
use debug || append-cxxflags "-DNDEBUG"
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
Reference in New Issue
Block a user