[gentoo-commits] repo/gentoo:master commit in: dev-libs/rccl/files/, dev-libs/rccl/

2024-03-08 Thread Sam James
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/

2021-01-23 Thread Benda XU
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
+}