dev-libs/rccl: add 5.7.1

Signed-off-by: Sv. Lockal <lockalsash@gmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sv. Lockal
2023-11-08 21:12:05 +00:00
committed by Sam James
parent 648c581f84
commit 2cf5fac5e9
3 changed files with 96 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST rccl-5.1.3.tar.gz 908274 BLAKE2B 46bff7b6e3d60d5884ccd7e19c54b2f47f90a337a8fdc6dca1a3cfee147e3652e1f912642cc134d4a82bf8daabd9f1391edff139d0517ab1078bd3d9650481d7 SHA512 20deb27c7ef3e6b6b73409950ac0d51286b4634f7002ce36a9a02cdd1d5b1f2db51f6decf773af83364c94f58cc96837da25299f5f5494fc15d8559a1b3c7fcc
DIST rccl-5.7.1.tar.gz 1425561 BLAKE2B 852c111ad806d5c99f48b3c65c8cf37315c68b969f9544bfa14c1faf1d5557edcc57cdc21705ced6ded4a0288d42b1076e65fb67b3f89b4fa78cfba9d317b23e SHA512 5913b8ff67fa787714713b7d5b571374898be740d56c77db9f04fe7a3e6ca74023fa930a3494d8a6f984ac9e68ee318343835e110049d08700fe773376618af4

View File

@@ -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} ")

View File

@@ -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
}