summaryrefslogtreecommitdiff
path: root/dev-libs/rccl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/rccl')
-rw-r--r--dev-libs/rccl/Manifest3
-rw-r--r--dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch17
-rw-r--r--dev-libs/rccl/rccl-5.7.1.ebuild78
3 files changed, 98 insertions, 0 deletions
diff --git a/dev-libs/rccl/Manifest b/dev-libs/rccl/Manifest
index 6facd8c4ebc7..1c16ead6b63f 100644
--- a/dev-libs/rccl/Manifest
+++ b/dev-libs/rccl/Manifest
@@ -1,5 +1,8 @@
AUX rccl-5.0.2-change_install_location.patch 936 BLAKE2B bd9feabfdeb0e6098e25baca8dd20a512b8761ab6d5b7ee4e723c268dec9b7200d125d4cb36fe540aedca396da51c094123f778d695f644788804e2f890d0697 SHA512 0fb0fadef6137d1a60dff8ae7e44df5a0769ea7142e182b86d2e4acee5a76397424b67ee73f25697494ad5d6e6ef60b71e889208775e6abf6f05f1c0d1b4b2b0
AUX rccl-5.1.3-remove-chrpath.patch 1852 BLAKE2B 255a295ffe34301c3926fbff412bef9ef7e6625a69a7e3dba2e3c7cc281640f3e4bc30dbaa25c916edf71f6b23e801e9f56a6c06cdb9221f470881a9d1291793 SHA512 05fc9c20c76195f45daba5c4a3612a6d2572ba1ae0028a0710c8c92e55f7c70b03ab7722363942d05d8e3c89a40edaa0364c0aff64f9d712e0739954650a6bae
+AUX rccl-5.7.1-remove-chrpath.patch 592 BLAKE2B 8510698259154be9138c136c87c3650276140ac500a235049cdd1f8ea9dcc969ac6cd16b13ce628c448f1d5aa8c49818c455e761e96c24a0abc3aa0d3d431320 SHA512 7df69e5293edb3021f57caf9fa6ec12fd3c6a2841f62de4d6358092ec8f5c11f18d2f6434704e64c225327b3a55a4e64710cb07a82ebee103e4faa3865baa72d
DIST rccl-5.1.3.tar.gz 908274 BLAKE2B 46bff7b6e3d60d5884ccd7e19c54b2f47f90a337a8fdc6dca1a3cfee147e3652e1f912642cc134d4a82bf8daabd9f1391edff139d0517ab1078bd3d9650481d7 SHA512 20deb27c7ef3e6b6b73409950ac0d51286b4634f7002ce36a9a02cdd1d5b1f2db51f6decf773af83364c94f58cc96837da25299f5f5494fc15d8559a1b3c7fcc
+DIST rccl-5.7.1.tar.gz 1425561 BLAKE2B 852c111ad806d5c99f48b3c65c8cf37315c68b969f9544bfa14c1faf1d5557edcc57cdc21705ced6ded4a0288d42b1076e65fb67b3f89b4fa78cfba9d317b23e SHA512 5913b8ff67fa787714713b7d5b571374898be740d56c77db9f04fe7a3e6ca74023fa930a3494d8a6f984ac9e68ee318343835e110049d08700fe773376618af4
EBUILD rccl-5.1.3.ebuild 1091 BLAKE2B 0506cc6607a280c97d934ba9037289f8c06678efe6bd4f5c0501d855b1e765181c1273e4918cfed72a19e235ad5b182eb901eb97401419d57319282ef4134e07 SHA512 c3be588fe12ef890fd74ee6bd6a09ba1f0b461a7daef14efa9ebabdcea7f1b9a3bb1389e3eed8856c231b0bf05674939f952ebcd0f522fcbe6284d4aa2e8f583
+EBUILD rccl-5.7.1.ebuild 1810 BLAKE2B 8f08a567c56700655ea81daafeccee8a26ba708868365555b2418bce01055fdceb621edc67ba33dcc7565fba35c4057c86e1edf978f2bae66d4e508d95ffc1b1 SHA512 754c0a63fec1d87d50f499cc0ae18b32165572a694e7318203887648ce8e4baf9c4ada4a05c9ed9eaa87f8d159ebf27d4e9da51bbacac188fd7f6cd52b06e68d
MISC metadata.xml 598 BLAKE2B bda73827e412b7addb0788cb2bd769138f8872f9be48abc482a455dd88de8bcccce6687041e15d27d79301459cb8455c773447d6cab64fef97ccdaa60c929c90 SHA512 66d6c53cb8f15c595d3c3a2de8eece79460cf0f4c0f5c0a082539a409aadd17f05f5b5561c7d65864db60b56117270c2c36e1ad547a91495f6628bf04f78d015
diff --git a/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
new file mode 100644
index 000000000000..a9184f1c7b98
--- /dev/null
+++ b/dev-libs/rccl/files/rccl-5.7.1-remove-chrpath.patch
@@ -0,0 +1,17 @@
+chrpath is not used in rccl 5.7.1
+
+Upstream fix: https://github.com/ROCmSoftwarePlatform/rccl/pull/811
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -7,11 +7,6 @@ if(BUILD_TESTS)
+
+ message("Building rccl unit tests (Installed in /test/rccl-UnitTests)")
+
+- find_program(CHRPATH chrpath)
+- if(NOT CHRPATH)
+- message(FATAL_ERROR "chrpath is required for rccl-UnitTests. Please install (e.g. sudo apt-get install chrpath)")
+- endif()
+-
+ find_package(hsa-runtime64 PATHS /opt/rocm )
+ if(${hsa-runtime64_FOUND})
+ message("hsa-runtime64 found @ ${hsa-runtime64_DIR} ")
diff --git a/dev-libs/rccl/rccl-5.7.1.ebuild b/dev-libs/rccl/rccl-5.7.1.ebuild
new file mode 100644
index 000000000000..1ebf9619a55b
--- /dev/null
+++ b/dev-libs/rccl/rccl-5.7.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ROCM_VERSION=${PV}
+
+inherit cmake edo rocm flag-o-matic
+
+DESCRIPTION="ROCm Communication Collectives Library (RCCL)"
+HOMEPAGE="https://github.com/ROCmSoftwarePlatform/rccl"
+SRC_URI="https://github.com/ROCmSoftwarePlatform/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz"
+
+LICENSE="BSD"
+KEYWORDS="~amd64"
+SLOT="0/$(ver_cut 1-2)"
+IUSE="test"
+
+RDEPEND="
+ =dev-util/hip-5*
+ dev-util/rocm-smi:${SLOT}"
+DEPEND="${RDEPEND}
+ sys-libs/binutils-libs"
+BDEPEND="
+ >=dev-build/cmake-3.22
+ >=dev-build/rocm-cmake-5.0.2-r1
+ dev-util/hipify-clang:${SLOT}
+ test? ( dev-cpp/gtest )"
+
+RESTRICT="!test? ( test )"
+S="${WORKDIR}/rccl-rocm-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.1-remove-chrpath.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ # https://reviews.llvm.org/D69582 - clang does not support parallel jobs
+ sed -i 's/-parallel-jobs=[0-9][0-9]//g' CMakeLists.txt || die
+
+ # https://github.com/ROCmSoftwarePlatform/rccl/pull/860 - bad escape
+ sed -i 's/\\%/%/' src/include/msccl/msccl_struct.h || die
+
+ # https://github.com/ROCmSoftwarePlatform/rccl/issues/958 - fix AMDGPU_TARGETS
+ sed -i '/set(AMDGPU_TARGETS/s/ FORCE//' CMakeLists.txt || die
+}
+
+src_configure() {
+ addpredict /dev/kfd
+ addpredict /dev/dri/
+
+ # https://github.com/llvm/llvm-project/issues/71711 - fix issue of clang
+ append-ldflags -Wl,-z,noexecstack
+
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ -DBUILD_TESTS=$(usex test ON OFF)
+ -DROCM_SYMLINK_LIBS=OFF
+ -Wno-dev
+ )
+
+ CXX=hipcc cmake_src_configure
+}
+
+src_test() {
+ CHECK_AMDGPU
+ LD_LIBRARY_PATH="${BUILD_DIR}" edob test/rccl-UnitTests
+}
+
+src_install() {
+ cmake_src_install
+
+ # remove extra copy of headers
+ rm -r "${ED}"/usr/rccl || die
+}