Use software packages that match the host architecture: x86-64 for the discrete GPU workstation and ARM64 for DGX Spark. The demo is built from the same source code on each platform, with platform-specific buffer allocation and build settings. Compile it separately for each host architecture.
The validated workstation uses MLNX_OFED, while DGX Spark uses DOCA-OFED. Follow the platform-specific requirements in the table below.
| Software | Discrete GPU workstation (x86-64) | DGX Spark (ARM64) | Purpose |
|---|---|---|---|
| Ubuntu 24.04 LTS | Install | Preinstalled as DGX OS | Operating system |
| NVIDIA driver | Install, 550 series or newer, with nvidia-peermem | Preinstalled, 580 series | GPU driver |
| CUDA Toolkit | Install, 12.x | Preinstalled, 13.0 | Debayer kernel, GPU memory allocation |
| MLNX_OFED | Install, 24.10 or newer, x86-64 package | Not used | ConnectX-5 driver and RDMA stack |
| DOCA-OFED and rdma-core | Not used | Preinstalled, 25.10 | ConnectX-7 driver and RDMA stack |
| nvidia-peermem | Required, load after OFED at every boot | Not used, no discrete VRAM | Lets the NIC write directly into GPU memory |
| Arena SDK | Install, Linux x64 1.0.10.11 | Install, Linux ARM64 0.8.10155 | Camera control, GVRSP streaming, IpConfigUtility |
| linuxptp 4.0 | apt install | apt install | ptp4l and phc2sys, PTP master on the host |
| GLFW 3.3 | apt install | apt install | OpenGL window |
| GLEW 2.2 | apt install | apt install | OpenGL extensions |
| FreeType 2.13 | apt install | apt install | On-screen text |
| libpng 1.6 | apt install | apt install | Wait screen and flash frames |
| OpenGL headers, g++, make | apt install | apt install | Compile and render |
| ethtool, iptables, NetworkManager | Preinstalled | Preinstalled | NIC tuning, VLAN relay rule, persistent addresses |
| ffmpeg | apt install, preparation only | apt install, preparation only | Convert videos to frame folders, not needed at run time |
cuDNN, OpenCV, and GLM are not required to build or run the demo described in this article.