Hi all,
I just got a second ASUS GB10 and am trying to hook it together with my existing, running great one. Both systems were updated with the latest bios and latest OS/drivers/etc. One is completely out of the box clean with latest updates.
I am following the official docs on connecting 2 Sparks ( Connect Two Sparks | DGX Spark ) and that first part worked perfectly. They both see each other fine.
Then building NCCL ( NCCL for Multiple Sparks | DGX Spark ), I can build NCCL with Blackwell support fine, but get compile errors when I build step 3 - NCCL-Test, on both boxes I use the ‘Step 3’ instructions for building nccl-test.
Configs are standard Asus GX10 Ubuntu 24.04 reference install images with just standard apt update to latest of everything. Any clues?
...
make -C src build BUILDDIR=/home/nvidia/nccl-tests/build
make[1]: Entering directory '/home/nvidia/nccl-tests/src'
make[2]: Entering directory '/home/nvidia/nccl-tests/os'
make[2]: Leaving directory '/home/nvidia/nccl-tests/os'
Linking /home/nvidia/nccl-tests/build/device_api/gin/latency/ginGetLatency_ping_main.o > /home/nvidia/nccl-tests/build/device_api/gin/latency/ginGetLatency_ping_perf
/usr/bin/ld: /home/nvidia/nccl-tests/build/device_api/gin/utils/common.o: in function MPI::Op::Init(void (*)(void const*, void*, int, MPI::Datatype const&), bool)': /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h:121:(.text._ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb[_ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb]+0x14): undefined reference to ompi_mpi_cxx_op_intercept'
/usr/bin/ld: /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/op_inln.h:121:(.text._ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb[_ZN3MPI2Op4InitEPFvPKvPviRKNS_8DatatypeEEb]+0x18): undefined reference to ompi_mpi_cxx_op_intercept' /usr/bin/ld: /home/nvidia/nccl-tests/build/device_api/gin/utils/common.o: in function MPI::Intracomm::Intracomm(ompi_communicator_t*)':
/usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/intracomm_inln.h:23:(.text._ZNK3MPI9Intracomm5CloneEv[_ZNK3MPI9Intracomm5CloneEv]+0x40): undefined reference to MPI::Comm::Comm()' /usr/bin/ld: /home/nvidia/nccl-tests/build/device_api/gin/utils/common.o: in function MPI::Intracomm::Intracomm()':
/usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h:25:(.text._ZNK3MPI9Graphcomm5CloneEv[_ZNK3MPI9Graphcomm5CloneEv]+0x3c): undefined reference to MPI::Comm::Comm()' /usr/bin/ld: /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h:25:(.text._ZNK3MPI8Cartcomm3SubEPKb[_ZNK3MPI8Cartcomm3SubEPKb]+0xa0): undefined reference to MPI::Comm::Comm()'
/usr/bin/ld: /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h:25:(.text._ZNK3MPI9Intracomm12Create_graphEiPKiS2_b[_ZNK3MPI9Intracomm12Create_graphEiPKiS2_b]+0x3c): undefined reference to MPI::Comm::Comm()' /usr/bin/ld: /usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h:25:(.text._ZNK3MPI8Cartcomm5CloneEv[_ZNK3MPI8Cartcomm5CloneEv]+0x3c): undefined reference to MPI::Comm::Comm()'
/usr/bin/ld: /home/nvidia/nccl-tests/build/device_api/gin/utils/common.o:/usr/lib/aarch64-linux-gnu/openmpi/include/openmpi/ompi/mpi/cxx/intracomm.h:25: more undefined references to MPI::Comm::Comm()' follow /usr/bin/ld: /home/nvidia/nccl-tests/build/device_api/gin/utils/common.o:(.data.rel.ro._ZTVN3MPI8DatatypeE[_ZTVN3MPI8DatatypeE]+0x78): undefined reference to MPI::Datatype::Free()'
/usr/bin/ld: /home/nvidia/nccl-tests/build/device_api/gin/utils/common.o:(.data.rel.ro._ZTVN3MPI3WinE[_ZTVN3MPI3WinE]+0x48): undefined reference to `MPI::Win::Free()'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:246: /home/nvidia/nccl-tests/build/device_api/gin/latency/ginGetLatency_ping_perf] Error 1
make[1]: Leaving directory '/home/nvidia/nccl-tests/src'
make: *** [Makefile:20: src.build] Error 2