🛠 Configure External AI Acceleration via OCuLink on Xerxes Nano
Objectives
This advanced tutorial aims to harness external computing power by connecting a GPU or AI accelerator via the OCuLink connector on the Xerxes Nano. This setup is ideal for LLM inference or real-time video processing, exceeding the integrated capabilities of the Jetson Orin Nano or Turing RK1.
Required Materials
- Xerxes Nano carrier board with an installed NVIDIA Jetson Orin Nano or Turing RK1 module.
- PCIe expansion card with a male OCuLink connector (compatible with Xerxes open-source KiCad files).
- An eGPU enclosure (OCuLink type) or a PCIe-to-OCuLink adapter.
- A compatible PCIe GPU or AI accelerator (e.g., NVIDIA RTX card or specialized AI accelerator).
- High-quality OCuLink cable (passive or active depending on distance).
- Stable external power supply for the expansion enclosure (if necessary).
- USB-C serial cables for terminal access to the module.
Steps
- Hardware Preparation: Turn off the Xerxes Nano and unplug power. Insert the OCuLink expansion card into the dedicated connector on the carrier board. Ensure the connector is fully seated until it clicks.
- Enclosure Connection: Connect the OCuLink cable between the expansion card and your eGPU enclosure. Insert the GPU or accelerator into the PCIe slot of the enclosure. Connect the enclosure power if the GPU cannot be powered via the slot (most dedicated GPUs require external power).
- Boot and Detection: Power on the expansion enclosure, then the Xerxes Nano. Open a terminal session via USB-C. Run the following command to verify PCIe bus detection:
lspci -nn | grep -i nvidia
If your GPU appears in the list, the physical link is established. If nothing appears, check electrical compatibility and wiring.
- Driver Installation: Depending on your module (Jetson or Turing), install the corresponding proprietary drivers. For Jetson, ensure NVIDIA packages are up to date:
sudo apt update && sudo apt install nvidia-driver-535
- BIOS/UEFI Configuration: If the system fails to boot or sees no GPU, enter the UEFI (often via
F2orDELat boot). Look for PCIe settings and enable « Above 4G Decoding » and « Re-allocate BAR Size » to allow correct memory allocation for the external GPU. - Performance Test: Use
nvidia-smito confirm the GPU is operational and properly mounted:
nvidia-smi
Verification
Run a simple benchmark like cuda-memcheck or launch a simple PyTorch model forcing external GPU usage. Check temperatures with nvidia-smi to ensure active cooling (PWM connector) is sufficient for both the external GPU and the embedded module.
Going Further
Explore PCIe multiplexing configuration if you wish to use M.2 NVMe storage and the external GPU simultaneously, verifying available bandwidth (shared Gen 3 x4). Check GitHub discussions of the Xerxes Home Lab project for advanced thermal management scripts.