🛠 Configure External GPU Acceleration via OCuLink
Objectives
This tutorial aims to configure the Xerxes Nano carrier board to leverage the computing power of an external GPU via the OCuLink interface. This setup is ideal for deep learning model training or 3D rendering tasks, exceeding the integrated capabilities of the Jetson Orin Nano or Turing RK1. The goal is to ensure correct hardware detection and optimal performance.
Required Materials
- Xerxes Nano carrier board with a compatible module (Jetson Orin Nano Super or Turing RK1).
- Compatible OCuLink daughterboard or OCuLink to PCIe adapter.
- Compatible NVIDIA external GPU (recommended for software consistency with JetPack).
- Sufficient power supply for the external GPU.
- Certified quality OCuLink cables.
- Ubuntu Server or JetPack operating system installed on the board.
Steps
- Hardware Preparation : Ensure the Xerxes Nano card is powered off. Firmly insert the OCuLink connector into the dedicated port on the carrier board. Verify that the plug is aligned with visual markers.
- GPU Connection : Connect the other end of the OCuLink cable to your GPU daughterboard or PCIe adapter. Mount the GPU in its case or on a test bench.
- Power Supply : Plug in the external GPU power supply. Ensure the Xerxes Nano power supply (USB or PoE via jumper) is correctly connected.
- System Boot : Power on the card. The operating system should detect the new PCIe device during boot.
- Software Verification : Open a terminal and run the following command to list PCIe devices and confirm the GPU's presence:
lspci | grep -i nvidia
- Driver Installation : If the GPU is not natively recognized, install the NVIDIA drivers corresponding to your JetPack or Ubuntu version. For JetPack, drivers are often pre-installed but may need updating:
sudo apt update
sudo apt install nvidia-driver-535 # Example, check compatible version
- Performance Test : Use a tool like
nvidia-smito check the external GPU status:
nvidia-smi
Verification
The nvidia-smi command should display external GPU information, including model name, available memory, and current usage. If lspci does not show the GPU, check physical connections and GPU power. Also ensure the BIOS/UEFI (if applicable) has not disabled the PCIe port linked to OCuLink.
Further Reading
Explore the open-source 'Xerxes Home Lab' tool to manage active cooling via the PWM connector, which is crucial when using an external GPU that generates more heat. You can also consult the KiCad files on GitHub to understand PCIe signal routing and optimize cable lengths to minimize signal loss.