commit: d683495a30ab97515b33c2dbed93262020c36af6
Author: Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Tue Mar 19 18:24:37 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jun 26 09:19:19 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d683495a
sci-libs/miopen: add 6.1.1
Changes:
* drop all old patches, except for enable-test
* add new patch for Clang 17 compatibility (official build uses Clang 18)
* new dependency on dev-util/roctracer
* set >=dev-libs/half-1.12.0-r1 depencency to find half/half.hpp automatically
* add myself to maintainers
* add include path for dev-libs/half (works even then half.hpp is installed
into /usr/include)
Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
sci-libs/miopen/Manifest | 1 +
.../files/miopen-6.1.1-build-all-tests.patch | 13 +++
sci-libs/miopen/metadata.xml | 6 +-
sci-libs/miopen/miopen-5.1.3-r1.ebuild | 1 +
sci-libs/miopen/miopen-5.7.1-r1.ebuild | 1 +
sci-libs/miopen/miopen-6.1.1.ebuild | 104 +++++++++++++++++++++
6 files changed, 125 insertions(+), 1 deletion(-)
diff --git a/sci-libs/miopen/Manifest b/sci-libs/miopen/Manifest
index 13af314de19a..2b9827766bf0 100644
--- a/sci-libs/miopen/Manifest
+++ b/sci-libs/miopen/Manifest
@@ -1,3 +1,4 @@
DIST MIOpen-5.1.3.tar.gz 88118329 BLAKE2B
d24722ffc5f5dab6d6a1de2ce34193ad2f25c9a2562e38c52e010a29870f01d9ea1c56970ba0601a088c8286e97958ee95d0da27fc8082126dd2ebe5ccb36b70
SHA512
a14e28cfcb12e5061e0e7b999ef3e67fa0a0e897e31bc50e7288b8a23eb1791312e33d3b697021c2b654ccc065ae1b046c1cfd77ba8e04b0f3e87e9cc0626dcd
DIST MIOpen-5.7.1.tar.gz 100751593 BLAKE2B
c5f847fe4374ab22737c281a65401125012328412d584fc09244b431ea6265d6d5028429115ee15fa8b04cbe0edd020e4e7ac8deb22561183ed76cb8c3d4d9d4
SHA512
3354b3b154f29a6337403abc5a71ec47c0b2558320c5a1b0cbfbbdb370c4fada2db12d4a19a312b5e30ca2e2302ee50ece3390603e84d132b2212a168e9523fa
+DIST MIOpen-6.1.1.tar.gz 101935496 BLAKE2B
5aadaa5eefa1b22dedfe87deb36f8acdbe57962cac8b7b6b20bc76f136ef29f0441e48112010280c2e674a1ae9fd202ca3e07be47cf4a4bc797234d6dc618be5
SHA512
b8860583919bf2f3e0da7ace30fdb0595ab45b85a367be3737e0b15a22a5565b8d6660c652ee070f21c36ac7d17ef3ba8e2eda7ed89bd6a0c65a4df799626d1a
DIST gtest-1.11.0_p20210611.tar.gz 887296 BLAKE2B
8f29b7028a6dd8190a113cd93398705b23b61d88bee38beaf9dcc0dfc8a463aed7fcd3719f6f1b131d4363aa57231629aaeffa108f6558efb58416cfface6d6e
SHA512
cf9e7f3fd3e31ce6677eac355fb8bfe19c5b56a8ec3af8b9417d0904cdf5da92f99f7411a08131cc9fa4fc7d38e6a71fcfac993648e47b269a74a27de7607f7a
diff --git a/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch
b/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch
new file mode 100644
index 000000000000..49ec1ccbff3b
--- /dev/null
+++ b/sci-libs/miopen/files/miopen-6.1.1-build-all-tests.patch
@@ -0,0 +1,13 @@
+Normally, MIOpen compiles tests during test phase instead of "compile".
+This patch allows to build testing executables during compile phase.
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -330,7 +330,7 @@ endfunction()
+ separate_arguments(MIOPEN_TEST_FLAGS_ARGS NATIVE_COMMAND ${MIOPEN_TEST_FLAGS})
+
+ function(add_test_executable TEST_NAME)
+- add_executable (${TEST_NAME} EXCLUDE_FROM_ALL ${ARGN})
++ add_executable (${TEST_NAME} ${ARGN})
+ if(WIN32)
+ target_compile_definitions(${TEST_NAME} PRIVATE NOMINMAX)
+ endif()
diff --git a/sci-libs/miopen/metadata.xml b/sci-libs/miopen/metadata.xml
index 08c299887077..e08e7753394d 100644
--- a/sci-libs/miopen/metadata.xml
+++ b/sci-libs/miopen/metadata.xml
@@ -12,7 +12,11 @@
<email>[email protected]</email>
<name>Yiyang Wu</name>
</maintainer>
+ <maintainer type="person">
+ <email>[email protected]</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
<upstream>
- <remote-id type="github">ROCmSoftwarePlatform/MIOpen</remote-id>
+ <remote-id type="github">ROCm/MIOpen</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sci-libs/miopen/miopen-5.1.3-r1.ebuild
b/sci-libs/miopen/miopen-5.1.3-r1.ebuild
index 2ef5b8fb50b8..7d02435948f7 100644
--- a/sci-libs/miopen/miopen-5.1.3-r1.ebuild
+++ b/sci-libs/miopen/miopen-5.1.3-r1.ebuild
@@ -87,6 +87,7 @@ src_configure() {
-DMIOPEN_USE_MLIR=OFF
-DBUILD_TESTS=$(usex test ON OFF)
-DMIOPEN_TEST_ALL=$(usex test ON OFF)
+ -DHALF_INCLUDE_DIR="${EPREFIX}/usr/include/half"
)
if use test; then
diff --git a/sci-libs/miopen/miopen-5.7.1-r1.ebuild
b/sci-libs/miopen/miopen-5.7.1-r1.ebuild
index 93bcde8190ae..b13e6354554f 100644
--- a/sci-libs/miopen/miopen-5.7.1-r1.ebuild
+++ b/sci-libs/miopen/miopen-5.7.1-r1.ebuild
@@ -91,6 +91,7 @@ src_configure() {
-DBUILD_TESTS=$(usex test ON OFF)
-DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
-DROCM_SYMLINK_LIBS=OFF
+ -DHALF_INCLUDE_DIR="${EPREFIX}/usr/include/half"
)
if use test; then
diff --git a/sci-libs/miopen/miopen-6.1.1.ebuild
b/sci-libs/miopen/miopen-6.1.1.ebuild
new file mode 100644
index 000000000000..7cf62bdcb790
--- /dev/null
+++ b/sci-libs/miopen/miopen-6.1.1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+LLVM_COMPAT=( 18 )
+
+inherit cmake flag-o-matic llvm-r1 rocm
+
+DESCRIPTION="AMD's Machine Intelligence Library"
+HOMEPAGE="https://github.com/ROCm/MIOpen"
+SRC_URI="https://github.com/ROCm/MIOpen/archive/rocm-${PV}.tar.gz ->
MIOpen-${PV}.tar.gz"
+S="${WORKDIR}/MIOpen-rocm-${PV}"
+
+LICENSE="MIT"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64"
+
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-util/hip
+ >=dev-db/sqlite-3.17
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ sci-libs/composable-kernel:${SLOT}[${ROCM_USEDEP}]
+ dev-util/roctracer:${SLOT}[${ROCM_USEDEP}]
+ >=dev-libs/boost-1.72
+ dev-cpp/nlohmann_json
+ dev-cpp/frugally-deep
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ >=dev-libs/half-1.12.0-r1
+ dev-build/rocm-cmake
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.1.1-build-all-tests.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -e '/MIOPEN_TIDY_ERRORS ALL/d' \
+ -e 's/FLAGS_RELEASE} -s/FLAGS_RELEASE}/g' \
+ -i CMakeLists.txt || die
+
+ sed -e "/add_test/s:--build \${CMAKE_CURRENT_BINARY_DIR}:--build
${BUILD_DIR}:" \
+ -i test/CMakeLists.txt || die
+
+ sed -e
"s:\${PROJECT_BINARY_DIR}/miopen/include:\${PROJECT_BINARY_DIR}/include:" \
+ -i src/CMakeLists.txt || die
+}
+
+src_configure() {
+ if ! use debug; then
+ append-cflags "-DNDEBUG"
+ append-cxxflags "-DNDEBUG"
+ CMAKE_BUILD_TYPE="Release"
+ else
+ CMAKE_BUILD_TYPE="Debug"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DMIOPEN_BACKEND=HIP
+ -DBoost_USE_STATIC_LIBS=OFF
+ -DMIOPEN_USE_MLIR=OFF
+ -DBUILD_TESTING=$(usex test ON OFF)
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ -DROCM_SYMLINK_LIBS=OFF
+ -DMIOPEN_HIP_COMPILER="${ESYSROOT}/usr/bin/hipcc"
+ -DMIOPEN_AMDGCN_ASSEMBLER="$(get_llvm_prefix)/bin/clang"
+ -DHIP_OC_COMPILER="$(get_llvm_prefix)/bin/clang"
+ )
+
+ if use test; then
+ mycmakeargs+=(
+ -DMIOPEN_TEST_ALL=ON
+ -DMIOPEN_TEST_GDB=OFF
+ )
+ # needed by rocminfo
+ addpredict /dev/random
+ check_amdgpu
+ fi
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ LD_LIBRARY_PATH="${BUILD_DIR}"/lib
MIOPEN_SYSTEM_DB_PATH="${BUILD_DIR}"/share/miopen/db/ cmake_src_test -j1
+}
+
+src_install() {
+ cmake_src_install
+}