gcc 10.3.0 breaks nvidia nccl
by eduardr from LinuxQuestions.org on (#5GHK3)
"The NVIDIA Collective Communication Library (NCCL) implements multi-GPU and multi-node communication primitives optimized for NVIDIA GPUs and Networking"
I filed an issue here:
https://github.com/NVIDIA/nccl/issues/494
Current workaround: download and downgrade to gcc-* 10.2.0:
Code:#!/usr/bin/env bash
url='http://slackware.uk/cumulative/slackware64-current/slackware64/d'
files[0]='gcc-10.2.0-x86_64-3.txz'
files[1]='gcc-brig-10.2.0-x86_64-4.txz'
files[2]='gcc-g++-10.2.0-x86_64-3.txz'
files[3]='gcc-gdc-10.2.0-x86_64-4.txz'
files[4]='gcc-gfortran-10.2.0-x86_64-3.txz'
files[5]='gcc-gnat-10.2.0-x86_64-3.txz'
files[6]='gcc-go-10.2.0-x86_64-3.txz'
files[7]='gcc-objc-10.2.0-x86_64-3.txz'
for file in "${files[@]}"
do
:
wget "${url}/${file}"
done
If Nvidia doesn't get around to fixing the issue anytime soon, I may have to again resort to building and maintaining a set of custom gcc packages (gcc10.2-*) which I install to /opt/gnu/gcc and pass those paths to any tools that use nvidia stuff. Have previously had to do this for ex. to provide gcc8 to the nvidia stack when it took nvidia years to support gcc9.


I filed an issue here:
https://github.com/NVIDIA/nccl/issues/494
Current workaround: download and downgrade to gcc-* 10.2.0:
Code:#!/usr/bin/env bash
url='http://slackware.uk/cumulative/slackware64-current/slackware64/d'
files[0]='gcc-10.2.0-x86_64-3.txz'
files[1]='gcc-brig-10.2.0-x86_64-4.txz'
files[2]='gcc-g++-10.2.0-x86_64-3.txz'
files[3]='gcc-gdc-10.2.0-x86_64-4.txz'
files[4]='gcc-gfortran-10.2.0-x86_64-3.txz'
files[5]='gcc-gnat-10.2.0-x86_64-3.txz'
files[6]='gcc-go-10.2.0-x86_64-3.txz'
files[7]='gcc-objc-10.2.0-x86_64-3.txz'
for file in "${files[@]}"
do
:
wget "${url}/${file}"
done
If Nvidia doesn't get around to fixing the issue anytime soon, I may have to again resort to building and maintaining a set of custom gcc packages (gcc10.2-*) which I install to /opt/gnu/gcc and pass those paths to any tools that use nvidia stuff. Have previously had to do this for ex. to provide gcc8 to the nvidia stack when it took nvidia years to support gcc9.