𝗡𝗩𝗜𝗗𝗜𝗔 𝗣𝗘𝗘𝗥𝗠𝗘𝗠 𝗜𝗡𝗩𝗔𝗟𝗜𝗗 𝗔𝗥𝗚𝗨𝗠𝗘𝗡𝗧 𝗢𝗣𝗟𝗢𝗦𝗦𝗜𝗡𝗚

Je krijgt de foutmelding "Invalid argument" wanneer je sudo modprobe nvidia-peermem uitvoert op Ubuntu.

Dit gebeurt omdat je de standaard Ubuntu InfiniBand-stack gebruikt. De nvidia-peermem-module heeft een specifieke API nodig die alleen in MLNX_OFED aanwezig is. Als je de inbox rdma-core-stack gebruikt, zal de module altijd falen.

Installeer MLNX_OFED niet alleen om dit op te lossen. Dat is een zware en onnodige stap.

Als je Hopper- of Blackwell-GPU's gebruikt met de NVIDIA open driver, heb je nvidia-peermem niet nodig. Gebruik in plaats daarvan DMA-BUF. Dit biedt native ondersteuning voor GPUDirect RDMA.

Hoe het op te lossen:

Je moet nvidia-drm modeset=1 inschakelen. Dit is de meest voorkomende reden waarom DMA-BUF faalt.

Controleer de huidige status: cat /sys/module/nvidia_drm/parameters/modeset

Als er N staat, volg dan deze stappen:

Om het voor de huidige sessie op te lossen: sudo modprobe -r nvidia_drm sudo modprobe nvidia_drm modeset=1

Om het permanent op te lossen: echo 'options nvidia-drm modeset=1' | sudo tee /etc/modprobe.d/nvidia-drm-modeset.conf sudo update-initramfs -u

Vereisten voor DMA-BUF: • NVIDIA open kernel driver • HCA met ODP-ondersteuning (ConnectX-6 of ConnectX-7) • Hopper- of nieuwere GPU (H100, H200 of B200)

Om te verifiëren of het werkt, moet je ervoor zorgen dat deze drie stappen in je code slagen:

  1. cudaMalloc() om geheugen toe te wijzen.
  2. cuMemGetHandleForAddressRange() om geheugen te exporteren als een DMA-BUF-file descriptor.
  3. ibv_reg_dmabuf_mr() om die descriptor bij de HCA te registreren.

Vergelijking:

Legacy (nvidia-peermem):

  • Heeft MLNX_OFED nodig
  • Heeft een externe module nodig
  • Werkt op alle GPU's

Modern (DMA-BUF):

  • Werkt op inbox rdma-core
  • Geen externe module nodig
  • Werkt op Hopper en nieuwer
  • Voorkeur van NVIDIA

Als je InfiniBand-poorten in de INIT-modus blijven staan, ontbreekt waarschijnlijk een Subnet Manager. Voer uit: sudo apt install opensm sudo systemctl start opensm

Source: https://dev.to/fpolica91/nvidia-peermem-invalid-argument-fix-2b3n

Optional learning community: https://t.me/GyaanSetuAi