From 75b3bbae666194cf97da226c11077452c3e32adc Mon Sep 17 00:00:00 2001 From: Patrick Lauer Date: Sun, 9 Nov 2025 06:11:33 +0000 Subject: [PATCH] dev-libs/rccl: add 7.1.0 Signed-off-by: Patrick Lauer --- dev-libs/rccl/Manifest | 1 + dev-libs/rccl/rccl-7.1.0.ebuild | 92 +++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 dev-libs/rccl/rccl-7.1.0.ebuild diff --git a/dev-libs/rccl/Manifest b/dev-libs/rccl/Manifest index d45c69844c6c..b8f3d062d1f3 100644 --- a/dev-libs/rccl/Manifest +++ b/dev-libs/rccl/Manifest @@ -1,3 +1,4 @@ DIST rccl-6.3.0.tar.gz 1828647 BLAKE2B 8c312fc51e7d600bb62fa059e1af53e153955b79b2ba2e8a6b6b52228b9217b7df6dc815c3a48c0800aaa9387f645070e079d04e99c0e8ebdfe41d5ebe0bda06 SHA512 a068b4a21786176638d108c8c85d5e5a8b0413335b555c2602f2a2e0b9f291f6872dbf68fbb5a17a6a0af9d9b5a90b1b37cce63b655a867b68fc9e20d49931ea DIST rccl-6.4.3.tar.gz 1895969 BLAKE2B 1cd43e983aa28b0d8ecd0d6c5e2f4d631f58599845230ef81408f185e9a9d8466b3d3850f95cb5bed8679e23d6528d77c7f8d0d6676885b5560b33603a8657c6 SHA512 56e925015bfb9454a5a7a1655c7e9a2a91d960b35bbf853ca852388c47276c1fe17b219f27d8a9fe1289878b3980f5bfacaa84f66279ab2d7df15f4915ab8648 DIST rccl-7.0.2.tar.gz 2249146 BLAKE2B 2337f1060750785196feb6b6aac3aa4c0bdb69fe6047dc8278ce7b26d53d57639d54dd4f864797f36912ae6d316c78f7dca1ddcd3d50fc51938379294ec4b3ce SHA512 1fa54fe439352a6f8c831f2fa10d64907c076af22e28ff34ca6e2c6eef99fd60336288e006e7c40df17ef01064aa40d1a6d0aff09a746e460ee8ace75d867030 +DIST rccl-7.1.0.tar.gz 2413858 BLAKE2B 86ee989340d8b908612b62a34f5a290c96496de901a0432ed68f5e2e6cda614f138da1b7e6b6e65677542955851a4c8f0dc4098b2f1cf4e9325818f9e0585879 SHA512 11444963b4f4bbb61993e01a036f91b7673b6b2a22f06f597dcead9d33fc68b1f297149af78640115d7a3a40cf80cd4be8b7815cbf836520c7f4a1a5c3f40381 diff --git a/dev-libs/rccl/rccl-7.1.0.ebuild b/dev-libs/rccl/rccl-7.1.0.ebuild new file mode 100644 index 000000000000..06b29090053e --- /dev/null +++ b/dev-libs/rccl/rccl-7.1.0.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ROCM_SKIP_GLOBALS=1 +inherit cmake edo rocm flag-o-matic + +DESCRIPTION="ROCm Communication Collectives Library (RCCL)" +HOMEPAGE="https://github.com/ROCm/rccl" +SRC_URI="https://github.com/ROCm/rccl/archive/rocm-${PV}.tar.gz -> rccl-${PV}.tar.gz" +S="${WORKDIR}/rccl-rocm-${PV}" + +LICENSE="BSD" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +# not supported on some GPUs like gfx1151 +IUSE_TARGETS=( gfx906 gfx908 gfx90a gfx942 gfx950 gfx1030 gfx1100 gfx1101 gfx1102 gfx1200 gfx1201 ) +IUSE_TARGETS=( "${IUSE_TARGETS[@]/#/amdgpu_targets_}" ) +ROCM_USEDEP_OPTFLAGS=${IUSE_TARGETS[*]/%/(-)?} +ROCM_USEDEP=${ROCM_USEDEP_OPTFLAGS// /,} +ROCM_REQUIRED_USE=" || ( ${IUSE_TARGETS[*]} )" + +IUSE="${IUSE_TARGETS[*]/#/+} roctracer test" + +REQUIRED_USE="${ROCM_REQUIRED_USE}" + +RDEPEND=" + dev-util/hip:${SLOT} + dev-util/rocm-smi:${SLOT} + roctracer? ( dev-util/roctracer:${SLOT} ) + dev-libs/libfmt:= +" +DEPEND="${RDEPEND} + sys-libs/binutils-libs" +BDEPEND=" + >=dev-build/cmake-3.22 + >=dev-build/rocm-cmake-5.7.1 + dev-util/hipify-clang:${SLOT} + test? ( dev-cpp/gtest )" + +RESTRICT="!test? ( test )" + +PATCHES=( + "${FILESDIR}/${PN}-7.0.1-fix-libcxx.patch" +) + +src_prepare() { + # don't install tests + sed -e '/rocm_install(TARGETS rccl-UnitTests/d' -i test/CMakeLists.txt || die + + # cmake4 compatibility requiores cmake_minimum_required>=3.5 + sed -e '/cmake_minimum_required/ s/2\.8\.12/3.16/' -i test/CMakeLists.txt || die + + # too many warnings... + sed -e '/target_compile_options(rccl PRIVATE -Wall)/d' -i CMakeLists.txt || die + + # allow to redefine CMAKE_INSTALL_LIBDIR from lib to $(get_libdir) + sed -e '/CMAKE_INSTALL_LIBDIR/ s/ FORCE//' -i cmake/Dependencies.cmake || die + cmake_src_prepare +} + +src_configure() { + rocm_use_clang + + # lto flags make compilation fail with "undefined hidden symbol" + filter-lto + + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DGPU_TARGETS="$(get_amdgpu_flags)" + -DBUILD_TESTS=$(usex test ON OFF) + -DROCM_SYMLINK_LIBS=OFF + -DROCM_PATH="${EPREFIX}/usr" + -DCMAKE_INSTALL_LIBDIR="$(get_libdir)" + -DRCCL_ROCPROFILER_REGISTER=OFF + -DENABLE_MSCCLPP=OFF + -DROCTX=$(usex roctracer ON OFF) + -DEXPLICIT_ROCM_VERSION="${PV}" + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + check_amdgpu + cd "${BUILD_DIR}" || die + # APU (as second device, if any) expectedly breaks tests + HIP_VISIBLE_DEVICES=0 LD_LIBRARY_PATH="${BUILD_DIR}" edob test/rccl-UnitTests +}