[arch-commits] Commit in nccl/repos (2 files)

Konstantin Gizdov kgizdov at gemini.archlinux.org
Sat Jan 29 22:52:34 UTC 2022


    Date: Saturday, January 29, 2022 @ 22:52:34
  Author: kgizdov
Revision: 1120001

archrelease: copy trunk to community-testing-x86_64

Added:
  nccl/repos/community-testing-x86_64/
  nccl/repos/community-testing-x86_64/PKGBUILD
    (from rev 1120000, nccl/trunk/PKGBUILD)

----------+
 PKGBUILD |   64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

Copied: nccl/repos/community-testing-x86_64/PKGBUILD (from rev 1120000, nccl/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2022-01-29 22:52:34 UTC (rev 1120001)
@@ -0,0 +1,64 @@
+# Maintainer: Sven-Hendrik Haase <svenstaro at archlinux.org>
+# Maintainer: Konstantin Gizdov <arch at kge dot pw>
+# Contributor: Daniel Bermond < yahoo-com: danielbermond >
+
+pkgname=nccl
+pkgver=2.11.4
+_upstr_pkgrel=1
+pkgrel=4
+pkgdesc='Library for NVIDIA multi-GPU and multi-node collective communication primitives'
+arch=('x86_64')
+url='https://developer.nvidia.com/nccl/'
+license=('BSD')
+depends=('glibc' 'gcc-libs')
+makedepends=('git' 'cuda')
+source=("$pkgname"::"git+https://github.com/NVIDIA/nccl.git#tag=v${pkgver}-${_upstr_pkgrel}")
+sha256sums=('SKIP')
+
+prepare() {
+  cd "$pkgname"
+
+  # rename BUILDDIR Makefile variable to avoid conflict with makepkg's one
+  local _file
+  local _filelist
+  _filelist="$(find . -type f -exec grep 'BUILDDIR' {} + | awk -F':' '{ print $1 }' | uniq)"
+  for _file in $_filelist
+  do
+    sed -i 's/BUILDDIR/_BUILDPATH/g' "$_file"
+  done
+}
+
+build() {
+  cd "$pkgname"
+
+  # https://docs.nvidia.com/cuda/turing-compatibility-guide/index.html
+  # specify as follows:
+  ## PTX virtual arch: -gencode=arch=compute_XX,code=compute_XX
+  ## binary cubin arch: -gencode=arch=compute_XX,code=sm_XX
+  # we provide binary support on all arches, no PTX is needed
+  # drop PTX to improve performance and reduce linking issues
+  # keep only latest version PTX for future compatibility
+  export NVCC_GENCODE="-gencode=arch=compute_52,code=sm_52 \
+                       -gencode=arch=compute_53,code=sm_53 \
+                       -gencode=arch=compute_60,code=sm_60 \
+                       -gencode=arch=compute_61,code=sm_61 \
+                       -gencode=arch=compute_62,code=sm_62 \
+                       -gencode=arch=compute_70,code=sm_70 \
+                       -gencode=arch=compute_72,code=sm_72 \
+                       -gencode=arch=compute_75,code=sm_75 \
+                       -gencode=arch=compute_80,code=sm_80 \
+                       -gencode=arch=compute_86,code=sm_86 \
+                       -gencode=arch=compute_86,code=compute_86"
+
+  export CXXFLAGS+=" -ffat-lto-objects"
+  make CUDA_HOME=/opt/cuda PREFIX=/usr src.build
+}
+
+package() {
+  cd "${pkgname}"
+
+  make PREFIX="${pkgdir}"/usr install
+  # fix permission on static lib
+  chmod 644 "${pkgdir}"/usr/lib/libnccl_static.a
+  install -Dm644  "${srcdir}/${pkgname}"/LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}



More information about the arch-commits mailing list