What is the best way to connect multi Jetson Xavier NX boards and communicate between them?

We are planning to have a setup with several jetson Xavier NX boards.
We are interesting to know what are the supported HW and SW technologies that provided by the NX, which based on them we will be able to have a multi GPUs accesses in order to design the best a load balancing applications.

I saw that NVIDIA developed the MVlink which sound to me as the best technology to use.

I saw in this link:
tegra Xavier.

That jetson Xavier support MVlink between CPU & GPU.
But with an additional Xavier SOC the interface is PCIe which based on all published benchmarks has a lower bandwidth.

Also, I noticed that there is an additional library called NCCL that enable multi GPUs development environment.

These are my questions:

  1. How can we wired the several Xavier NX SoCs in order to have the required HW interfaces which will enable us to develop an efficient parallel applications?
  2. How application that executed on one NX SoC can access a remote GPU which resided in other NX SoC?
  3. Can I use the NCCL? Shall I use the NCCL? Any other library can be used?
  4. Is there any technology that provide to the GPUs in all SoCs the abilities to get an independents decisions to divide the workload between them in such way that it will be transparent from application point of view?

Any other information will be much appreciated.


Hi orong13,

The NVLink is not for Jetson platforms, but for Driver AGX platform, and we only provide the Jetson AGX NX module, not SoC.
The NCCL is for x86, can’t work on Jetson platforms.

You may refer to Jetson Projects forum for interesting projects sharing to gain some idesa on your project developing.