summaryrefslogtreecommitdiff
path: root/sci-libs/composable-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/composable-kernel')
-rw-r--r--sci-libs/composable-kernel/Manifest5
-rw-r--r--sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild83
-rw-r--r--sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch19
-rw-r--r--sci-libs/composable-kernel/metadata.xml15
4 files changed, 122 insertions, 0 deletions
diff --git a/sci-libs/composable-kernel/Manifest b/sci-libs/composable-kernel/Manifest
new file mode 100644
index 000000000000..316f4e33f9d2
--- /dev/null
+++ b/sci-libs/composable-kernel/Manifest
@@ -0,0 +1,5 @@
+AUX composable-kernel-5.7.1-enable-test-examples.patch 507 BLAKE2B aae585262ad83f2a4e4f07e00e79a99d8cddae9c590e503f8ea1d3ffef84b3d829e61526a8c9b7977a6d604b5310cce521fb179155aba2ffc620c45db76c51cc SHA512 447ee2ec28442d610f185af4d6733d86d183a8f451fca00eafb0d6950d0a65f5d5396a8edcb4a3a1dd4733a6524ba4b9da9ca08b1bcdbd7ecaf7600bf0b14c60
+DIST composable-kernel-5.7.1.tar.gz 2158402 BLAKE2B 660c205c2a99cd17f29a9077e9e7b8b88e41f42ab40d92d0a235e7a60683a04234cce6b2eb6110265c2f461dd132c40151b2521b7d64df4cebb7f27094d8b2b0 SHA512 3931c5dbcab59513541103ebf7446311a1e318421a9e12aeafa7a98cf0717a75e1519140e6b2fbcaf4cb90829a11f03a724ff3ccc6636139c61667ac82558c55
+DIST gtest-1.14.0_p20220421.tar.gz 849107 BLAKE2B e9c32d9c1d98959583b696430a6be411f5d69e3db96669b16cffc0f1dcad42512391c0a4733f6e829c82953ff33fa243ee782f3cf6e86436f0d290f45d1a3db7 SHA512 967aac7d85da0e216fe13b17d10f894a31d763d9b88201bac7d3dfc37600552b5472d30a166a6ef27f2778677e73fd3e43d082695a48f47824262eb9cd4fcd2f
+EBUILD composable-kernel-5.7.1-r1.ebuild 1786 BLAKE2B ca0f01b34ce48f190a57b9e3b0d788f4bd8422ecae782bb7e9d9e21886bdba0dac8776f1183e57b96e9ef824cde482476746d30b1d5cba5fe93eb7cea9453ce9 SHA512 11b806f90b2a4a94d2535a86cd490a992e39ded8aa648c6b327cd407338a326375850935515338b7fd15946799118821e0d40b0c024cdaaac95cd87bdad1c560
+MISC metadata.xml 473 BLAKE2B fdeace65d8ada21cb0b0fd3a7e1c0c48338c10b51cdad675ffb33e4bd8b9da4ef83ffee85606ef436b2f0315ed323266fa28c70ac5553952ee800fe0450fb066 SHA512 38c79eb08baedccfa7e7a46ef138520d7a939379c4120883d1f8b1187624ca78d9c8dfcf5759867a0b78253b4724a4da944f7384ec27bc2f9846198c1386af9d
diff --git a/sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild b/sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..fbaa9356f722
--- /dev/null
+++ b/sci-libs/composable-kernel/composable-kernel-5.7.1-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake flag-o-matic llvm rocm
+
+GTEST_COMMIT="b85864c64758dec007208e56af933fc3f52044ee"
+GTEST_FILE="gtest-1.14.0_p20220421.tar.gz"
+
+LLVM_MAX_SLOT=17
+
+DESCRIPTION="High Performance Composable Kernel for AMD GPUs"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/composable_kernel"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/composable_kernel/archive/rocm-${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${GTEST_FILE} )"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+
+IUSE="debug test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-util/hip
+ >=dev-db/sqlite-3.17
+ sci-libs/rocBLAS:${SLOT}[${ROCM_USEDEP}]
+ >=dev-libs/boost-1.72
+ dev-cpp/nlohmann_json
+ dev-cpp/frugally-deep
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="dev-libs/half:0/1
+ dev-build/rocm-cmake
+"
+
+S="${WORKDIR}/composable_kernel-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-enable-test-examples.patch"
+)
+
+src_prepare() {
+ sed -e '/-Werror/d' -i cmake/EnableCompilerWarnings.cmake || die
+ cmake_src_prepare
+}
+
+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
+ -DBUILD_DEV=OFF
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ )
+
+ if use test; then
+ mycmakeargs+=(
+ -DGOOGLETEST_DIR="${WORKDIR}/googletest-${GTEST_COMMIT}"
+ )
+ fi
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ LD_LIBRARY_PATH="${BUILD_DIR}"/lib cmake_src_test -j1
+}
diff --git a/sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch b/sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch
new file mode 100644
index 000000000000..dd93b8af743a
--- /dev/null
+++ b/sci-libs/composable-kernel/files/composable-kernel-5.7.1-enable-test-examples.patch
@@ -0,0 +1,19 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -280,8 +280,14 @@ rocm_package_setup_component(profiler
+ )
+
+ add_subdirectory(library)
+-add_subdirectory(example)
+-add_subdirectory(test)
++option(BUILD_EXAMPLES "Build examples" OFF)
++if(BUILD_EXAMPLES)
++ add_subdirectory(example)
++endif()
++option(BUILD_TESTS "Build binaries for tests" OFF)
++if(BUILD_TESTS)
++ add_subdirectory(test)
++endif()
+ add_subdirectory(profiler)
+
+ #Create an interface target for the include only files and call it "composablekernels"
diff --git a/sci-libs/composable-kernel/metadata.xml b/sci-libs/composable-kernel/metadata.xml
new file mode 100644
index 000000000000..9236dd2846d7
--- /dev/null
+++ b/sci-libs/composable-kernel/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>lockalsash@gmail.com</email>
+ <name>Sv. Lockal</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ROCmSoftwarePlatform/composable_kernel</remote-id>
+ </upstream>
+</pkgmetadata>