Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian....@packages.debian.org
Usertags: pu

Hello,

I have uploaded a proposed 1.11.12-3+deb10u1 version of hwloc-contrib
for buster.

[ Reason ]
PowerPC systems provide much better bandwidth between CPUs and NVIDIA
GPUs thanks to NVLink, they are thus currently very often used for
running NVIDIA GPUs (top500.org has a lot of them for instance). But
hwloc currently does not show NVIDIA GPUs on ppc64el because the
hwloc-contrib package is not getting built there.  This makes it much
harder for applications to determine the locality of GPUs in the system
and thus where to place data etc. to get efficient execution.

This is not a regression over oldstable, which did not have it built on
ppc64el either.

[ Impact ]
If this isn't included, people will have to build hwloc by hand to get
the locality information and thus efficient execution.

[ Tests ]
The hwloc-contrib package has a full testsuite which I could run on a
ppc64el system.

[ Risks ]
There is no risk for the only other arch (amd64), because the change
disables the libcuda1 build-dep only on ppc64el, and it drops libcuda
from the link of a test which is not getting shipped anyway.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
There is no libcuda1 on ppc64el, so this dependency had to be disabled.
This disables one test (cuda), but otherwise the functionalities of the
built package are the same.

The cudart test used to be linked against libcuda, but that was actually
spurious, upstream doesn't link it against libcuda any more since a long
time actually.

With regards,
Samuel
diff -Nru hwloc-contrib-1.11.12/debian/changelog 
hwloc-contrib-1.11.12/debian/changelog
--- hwloc-contrib-1.11.12/debian/changelog      2019-02-09 00:46:55.000000000 
+0100
+++ hwloc-contrib-1.11.12/debian/changelog      2021-03-10 00:22:29.000000000 
+0100
@@ -1,3 +1,11 @@
+hwloc-contrib (1.11.12-3+deb10u1) buster; urgency=medium
+
+  * control: Enable build on ppc64el with libcuda1 build-dep disabled.
+  * patches/cuda-ppc64el: Upstream fix for cudart test that does not actually
+    need libcuda1.
+
+ -- Samuel Thibault <sthiba...@debian.org>  Wed, 10 Mar 2021 00:22:29 +0100
+
 hwloc-contrib (1.11.12-3) unstable; urgency=medium
 
   * control: Add libcuda1 dependency, not brought by nvidia-cuda-dev any more.
diff -Nru hwloc-contrib-1.11.12/debian/control 
hwloc-contrib-1.11.12/debian/control
--- hwloc-contrib-1.11.12/debian/control        2019-02-09 00:46:06.000000000 
+0100
+++ hwloc-contrib-1.11.12/debian/control        2021-03-09 23:55:17.000000000 
+0100
@@ -3,7 +3,7 @@
 Maintainer: Samuel Thibault <sthiba...@debian.org>
 Build-Depends: debhelper (>= 9), libltdl-dev,
   valgrind [amd64 arm64 armhf i386 mips mipsel powerpc ppc64el s390x mips64el 
ppc64],
-  libx11-dev, libxext-dev, nvidia-cuda-dev, libcuda1, libxnvctrl-dev,
+  libx11-dev, libxext-dev, nvidia-cuda-dev, libcuda1 [!ppc64el], 
libxnvctrl-dev,
   libpciaccess-dev, pkg-config,
   libibverbs-dev [linux-any],
   ocl-icd-opencl-dev [!hurd-i386] | opencl-dev, opencl-headers,
@@ -18,7 +18,7 @@
 Vcs-Browser: https://github.com/open-mpi/hwloc-debian/tree/contrib
 
 Package: libhwloc-contrib-plugins
-Architecture: amd64
+Architecture: amd64 ppc64el
 Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}, libhwloc5 (>= 
${source:Upstream-Version}~), libhwloc5 (<< ${source:Upstream-Version}A)
 Description: Hierarchical view of the machine - contrib plugins
diff -Nru hwloc-contrib-1.11.12/debian/patches/cuda-ppc64el 
hwloc-contrib-1.11.12/debian/patches/cuda-ppc64el
--- hwloc-contrib-1.11.12/debian/patches/cuda-ppc64el   1970-01-01 
01:00:00.000000000 +0100
+++ hwloc-contrib-1.11.12/debian/patches/cuda-ppc64el   2021-03-10 
00:21:15.000000000 +0100
@@ -0,0 +1,21 @@
+commit 542fb5677723e13980056ea5f1023b5120bd2e0d
+Author: Samuel Thibault <samuel.thiba...@ens-lyon.org>
+Date:   Wed Mar 10 00:20:05 2021 +0100
+
+    tests/cudart: Do not link against libcuda
+    
+    ppc64el doesn't have libcuda and the cudart test does not need it anyway.
+
+diff --git a/tests/Makefile.am b/tests/Makefile.am
+index cc9ce5039..5129b8a34 100644
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -104,7 +104,7 @@ openfabrics_verbs_LDADD = $(LDADD) -libverbs
+ myriexpress_LDADD = $(LDADD) -lmyriexpress
+ opencl_LDADD = $(LDADD) $(HWLOC_OPENCL_LIBS) $(HWLOC_OPENCL_LDFLAGS)
+ cuda_LDADD = $(LDADD) -lcuda
+-cudart_LDADD = $(LDADD) -lcuda -lcudart
++cudart_LDADD = $(LDADD) -lcudart
+ nvml_LDADD = $(LDADD) -lnvidia-ml
+ hwloc_bind_LDADD = $(LDADD)
+ if HWLOC_HAVE_PTHREAD
diff -Nru hwloc-contrib-1.11.12/debian/patches/series 
hwloc-contrib-1.11.12/debian/patches/series
--- hwloc-contrib-1.11.12/debian/patches/series 2019-02-09 00:46:08.000000000 
+0100
+++ hwloc-contrib-1.11.12/debian/patches/series 2021-03-10 00:02:11.000000000 
+0100
@@ -1,2 +1,3 @@
 bashism
 doc-nopdf
+cuda-ppc64el

Reply via email to