summaryrefslogtreecommitdiff
path: root/sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild')
-rw-r--r--sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild55
1 files changed, 55 insertions, 0 deletions
diff --git a/sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild b/sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild
new file mode 100644
index 000000000000..8ff00b145b09
--- /dev/null
+++ b/sci-libs/hipCUB/hipCUB-5.7.1-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake rocm
+
+DESCRIPTION="Wrapper of rocPRIM or CUB for GPU parallel primitives"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/hipCUB"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/hipCUB/archive/rocm-${PV}.tar.gz -> hipCUB-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="benchmark test"
+REQUIRED_USE="${ROCM_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-util/hip
+ sci-libs/rocPRIM:${SLOT}[${ROCM_USEDEP}]
+ benchmark? ( dev-cpp/benchmark )
+ test? ( dev-cpp/gtest )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/hipCUB-rocm-${PV}"
+
+src_prepare() {
+ sed -e "s:set(ROCM_INSTALL_LIBDIR lib):set(ROCM_INSTALL_LIBDIR $(get_libdir)):" \
+ -i cmake/ROCMExportTargetsHeaderOnly.cmake || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ local mycmakeargs=(
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TEST=$(usex test ON OFF)
+ -DBUILD_BENCHMARK=$(usex benchmark ON OFF)
+ -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ check_amdgpu
+ # uses HMM to fit tests to default <512M iGPU VRAM
+ MAKEOPTS="-j1" HIPCUB_USE_HMM="1" cmake_src_test
+}