[gentoo-commits] repo/gentoo:master commit in: dev-libs/rccl/files/, dev-libs/rccl/
commit: 2cf5fac5e9a35809a0f2eb7b4b4ad0a8caa0170a Author: Sv. Lockal gmail com> AuthorDate: Wed Nov 8 21:12:05 2023 + Commit: Sam James gentoo org> CommitDate: Fri Mar 8 19:21:57 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cf5fac5 dev-libs/rccl: add 5.7.1 Signed-off-by: Sv. Lockal gmail.com> Signed-off-by: Sam James gentoo.org> dev-libs/rccl/Manifest | 1 + .../rccl/files/rccl-5.7.1-remove-chrpath.patch | 17 + dev-libs/rccl/rccl-5.7.1.ebuild| 78 ++ 3 files changed, 96 insertions(+) diff --git a/dev-libs/rccl/Manifest b/dev-libs/rccl/Manifest index 50be3ed5b7b8..baeaa02c7d4e 100644 --- a/dev-libs/rccl/Manifest +++ b/dev-libs/rccl/Manifest @@ -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 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 ..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 ..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 +}
[gentoo-commits] repo/gentoo:master commit in: dev-libs/rccl/files/, dev-libs/rccl/
commit: 48544762ef753e69fc2a4c1e7b3adf9ead209683 Author: Benda Xu gentoo org> AuthorDate: Thu Jan 21 09:12:48 2021 + Commit: Benda XU gentoo org> CommitDate: Sun Jan 24 07:48:27 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48544762 dev-libs/rccl: ROCm Communication Collectives Library Closes: https://github.com/gentoo/gentoo/pull/19143 Bug: https://bugs.gentoo.org/650804 Bug: https://github.com/gentoo/gentoo/pull/10724 Suggested-by: Yiyang Wu gmail.com> Suggested-by: Wilfried Holzke holzke.net> Package-Manager: Portage-3.0.12, Repoman-3.0.1 Signed-off-by: Benda Xu gentoo.org> dev-libs/rccl/Manifest | 1 + .../files/rccl-2.7.0-change_install_location.patch | 33 ++ dev-libs/rccl/metadata.xml | 19 +++ dev-libs/rccl/rccl-4.0.0-r1.ebuild | 39 ++ 4 files changed, 92 insertions(+) diff --git a/dev-libs/rccl/Manifest b/dev-libs/rccl/Manifest new file mode 100644 index 000..19e11e35867 --- /dev/null +++ b/dev-libs/rccl/Manifest @@ -0,0 +1 @@ +DIST rccl-4.0.0.tar.gz 741814 BLAKE2B c20178e45fb7787ef7f5e20326f91f11a1b2a575277b5f28591b0be6efa6730c3509b11255372648f1df50e33b5e593dbe9c3334c5001f39423fc70acfa49d07 SHA512 d25754895d7b5695e46031642c2550cf2b6b5c42628d8381a23d6d1a48699a14a4fdf842205a14b96bdd1339341f9e558492ef9366a63036d8a8a7011d2c1b05 diff --git a/dev-libs/rccl/files/rccl-2.7.0-change_install_location.patch b/dev-libs/rccl/files/rccl-2.7.0-change_install_location.patch new file mode 100644 index 000..c129e80c62c --- /dev/null +++ b/dev-libs/rccl/files/rccl-2.7.0-change_install_location.patch @@ -0,0 +1,33 @@ +--- a/CMakeLists.txt 2019-09-02 18:19:53.540736052 +0200 b/CMakeLists.txt 2019-09-02 18:21:14.936735741 +0200 +@@ -162,15 +162,16 @@ + + rocm_install_targets(TARGETS + rccl +- PREFIX +- rccl) ++# PREFIX ++# rccl ++ ) + install(FILES ${PROJECT_BINARY_DIR}/rccl.h +-DESTINATION rccl/${CMAKE_INSTALL_INCLUDEDIR}) ++DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + rocm_export_targets(NAMESPACE + roc:: +-PREFIX +-rccl ++#PREFIX ++#rccl + TARGETS + rccl + DEPENDS +@@ -190,7 +191,7 @@ + "" + LDCONFIG) + +-rocm_install_symlink_subdir(rccl) ++#rocm_install_symlink_subdir(rccl) + + if(BUILD_TESTS) + add_subdirectory(test) diff --git a/dev-libs/rccl/metadata.xml b/dev-libs/rccl/metadata.xml new file mode 100644 index 000..1e0f4fb686b --- /dev/null +++ b/dev-libs/rccl/metadata.xml @@ -0,0 +1,19 @@ + +http://www.gentoo.org/dtd/metadata.dtd;> + + +s...@gentoo.org +Gentoo Science Project + + +candr...@gentoo.org +Craig Andrews + + +gen...@holzke.net +Wilfried Holzke + + +ROCm-Developer-Tools/rccl + + diff --git a/dev-libs/rccl/rccl-4.0.0-r1.ebuild b/dev-libs/rccl/rccl-4.0.0-r1.ebuild new file mode 100644 index 000..364e12bac66 --- /dev/null +++ b/dev-libs/rccl/rccl-4.0.0-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +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" + +RDEPEND="=dev-util/hip-$(ver_cut 1-2)*" +DEPEND="${RDPEND} + dev-util/rocm-cmake" + +S="${WORKDIR}/rccl-rocm-${PV}" + +PATCHES=( + "${FILESDIR}/rccl-2.7.0-change_install_location.patch" +) + +src_configure() { + addwrite /dev/kfd + addpredict /dev/dri/ + + export DEVICE_LIB_PATH="${EPREFIX}/usr/lib/amdgcn/bitcode/" + export CXX=hipcc + + local mycmakeargs=( + -DBUILD_TESTS=OFF + -Wno-dev + ) + + cmake_src_configure +}