🛠 External GPU Configuration via OCuLink
Objectives
This tutorial explains how to leverage the OCuLink connector on the Xerxes Nano to connect an external PCIe accelerator (GPU or NPU). This interface allows you to surpass the computational limits of the integrated Jetson Orin Nano or Turing RK1 module, providing high PCIe bandwidth for heavy AI inference or training. We will cover hardware configuration, necessary power supply, and software detection under Linux.
Required Materials
- Xerxes Nano carrier board with installed Jetson Orin Nano or Turing RK1 module
- Compatible OCuLink cable (typically SFF-8612 with 4 PCIe lanes)
- OCuLink-compatible eGPU chassis/enclosure with dedicated power supply (12V/19V)
- External GPU or PCIe accelerator (e.g., NVIDIA RTX 30/40 series, Intel Arc, etc.)
- Stable power supply for the eGPU chassis
- Workstation with terminal access (SSH or screen/keyboard)
- Linux operating system (Ubuntu 20.04/22.04 recommended for Jetson)
Steps
- Compatibility Check: Ensure your external GPU is a standard PCIe device. The Xerxes Nano uses PCIe Gen 3 via OCuLink. Check your eGPU chassis specifications to confirm electrical and mechanical compatibility.
- Physical Connection: Completely power off the Xerxes Nano. Plug the OCuLink cable into the dedicated port on the carrier board. Connect the other end to the eGPU chassis. Ensure the chassis is properly ventilated, as external GPUs generate significant heat.
- Chassis Powering: Plug the eGPU chassis power supply into a wall outlet. Do not turn on the Xerxes Nano yet. The power-on sequence is crucial: turn on the eGPU chassis first, wait for its fans to spin, then turn on the Xerxes Nano.
- System Detection: Once the system boots, open a terminal. Verify that the PCIe bus sees the new device with the following command:
lspci | grep -i nvidia
# or for another vendor
lspci | grep -i vga
If the GPU is detected, you will see a line indicating the connected GPU model.
- Driver Installation: For NVIDIA GPUs, install the proprietary drivers adapted to your architecture (ARM64 for Jetson). Avoid generic x86_64 drivers.
sudo apt update
sudo apt install nvidia-driver-535
Reboot the system to load the kernel modules.
- Acceleration Verification: Use the monitoring utility to confirm the GPU is active and recognized by the system.
nvidia-smi
You should see external GPU information, including memory and graphics processor usage.
Verification
To validate functionality, run a simple workload using the external GPU. For example, execute a matrix calculation benchmark or launch a simple AI model via PyTorch, forcing the use of the new device.
python3 -c "import torch; print(torch.cuda.is_available())"
If the output is True, the external GPU is correctly integrated. Also check temperatures via nvidia-smi to ensure adequate cooling.
Further Reading
Explore power management via the Xerxes Nano's PWM connector to synchronize ventilation with GPU load. You can also configure CUDA to simultaneously use the Jetson's integrated GPU (iGPU) and the external GPU (eGPU) using NVIDIA Multi-GPU technology, thus optimizing parallel inference tasks.