I followed https://build.nvidia.com/spark/nccl/stacked-sparks and received errors when building NCCL tests:
git clone https://github.com/NVIDIA/nccl-tests.git ~/nccl-tests/
cd ~/nccl-tests/
make MPI=1
Cloning into '/home/mydir/nccl-tests'...
remote: Enumerating objects: 540, done.
remote: Counting objects: 100% (383/383), done.
remote: Compressing objects: 100% (177/177), done.
remote: Total 540 (delta 329), reused 227 (delta 206), pack-reused 157 (from 2)
Receiving objects: 100% (540/540), 210.33 KiB | 3.24 MiB/s, done.
Resolving deltas: 100% (368/368), done.
make -C src build BUILDDIR=/home/mydir/nccl-tests/build
make[1]: Entering directory '/home/mydir/nccl-tests/src'
Compiling timer.cc > /home/mydir/nccl-tests/build/timer.o
Compiling /home/mydir/nccl-tests/build/verifiable/verifiable.o
Compiling all_reduce.cu > /home/mydir/nccl-tests/build/all_reduce.o
Compiling common.cu > /home/mydir/nccl-tests/build/common.o
Compiling util.cu > /home/mydir/nccl-tests/build/util.o
Linking /home/mydir/nccl-tests/build/all_reduce.o > /home/mydir/nccl-tests/build/all_reduce_perf
Compiling all_gather.cu > /home/mydir/nccl-tests/build/all_gather.o
Linking /home/mydir/nccl-tests/build/all_gather.o > /home/mydir/nccl-tests/build/all_gather_perf
Compiling broadcast.cu > /home/mydir/nccl-tests/build/broadcast.o
Linking /home/mydir/nccl-tests/build/broadcast.o > /home/mydir/nccl-tests/build/broadcast_perf
Compiling reduce_scatter.cu > /home/mydir/nccl-tests/build/reduce_scatter.o
Linking /home/mydir/nccl-tests/build/reduce_scatter.o > /home/mydir/nccl-tests/build/reduce_scatter_perf
Compiling reduce.cu > /home/mydir/nccl-tests/build/reduce.o
Linking /home/mydir/nccl-tests/build/reduce.o > /home/mydir/nccl-tests/build/reduce_perf
Compiling alltoall.cu > /home/mydir/nccl-tests/build/alltoall.o
alltoall.cu(65): error: class "ncclDevCommRequirements" has no member "barrierCount"
reqs->barrierCount = deviceCtaCount;
^
alltoall.cu(66): error: class "ncclDevCommRequirements" has no member "ginSignalCount"
reqs->ginSignalCount = deviceCtaCount;
^
alltoall.cu(187): error: identifier "ncclGin" is undefined
ncclGin gin { devComm, ginContext };
^
alltoall.cu(190): error: identifier "ncclBarrierSession" is undefined
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(190): error: type name is not allowed
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(190): error: identifier "bar" is undefined
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(190): error: expected a ";"
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(191): error: name followed by "::" must be a class or namespace name
bar.sync(ncclCoopCta(), cuda::memory_order_relaxed, ncclGinFenceLevel::Relaxed);
^
alltoall.cu(202): error: identifier "ncclGin_SignalInc" is undefined
size, ncclGin_SignalInc{signalIndex});
^
alltoall.cu(202): error: expected a ")"
size, ncclGin_SignalInc{signalIndex});
^
alltoall.cu(208): error: name followed by "::" must be a class or namespace name
bar.sync(ncclCoopCta(), cuda::memory_order_release, ncclGinFenceLevel::Relaxed);
^
alltoall.cu(215): error: identifier "ncclGin" is undefined
ncclGin gin { devComm, ginContext };
^
alltoall.cu(218): error: identifier "ncclBarrierSession" is undefined
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(218): error: type name is not allowed
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(218): error: identifier "bar" is undefined
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(218): error: expected a ";"
ncclBarrierSession<ncclCoopCta> bar { ncclCoopCta(), ncclTeamTagWorld(), gin, blockIdx.x };
^
alltoall.cu(219): error: name followed by "::" must be a class or namespace name
bar.sync(ncclCoopCta(), cuda::memory_order_relaxed, ncclGinFenceLevel::Relaxed);
^
alltoall.cu(235): error: identifier "ncclGin_SignalInc" is undefined
size, ncclGin_SignalInc{signalIndex});
^
alltoall.cu(235): error: expected a ")"
size, ncclGin_SignalInc{signalIndex});
^
alltoall.cu(241): error: identifier "ncclGin_SignalInc" is undefined
size, ncclGin_SignalInc{signalIndex});
^
alltoall.cu(241): error: expected a ")"
size, ncclGin_SignalInc{signalIndex});
^
alltoall.cu(258): error: name followed by "::" must be a class or namespace name
bar.sync(ncclCoopCta(), cuda::memory_order_release, ncclGinFenceLevel::Relaxed);
^
22 errors detected in the compilation of "alltoall.cu".
make[1]: *** [Makefile:59: /home/mydir/nccl-tests/build/alltoall.o] Error 2
make[1]: Leaving directory '/home/mydir/nccl-tests/src'
make: *** [Makefile:20: src.build] Error 2
What could be causing the issue?