𝗣𝗘𝗥𝗕𝗔𝗜𝗞𝗔𝗡 𝗡𝗩𝗜𝗗𝗜𝗔 𝗣𝗘𝗘𝗥𝗠𝗘𝗠 𝗜𝗡𝗩𝗔𝗟𝗜𝗗 𝗔𝗥𝗚𝗨𝗠𝗘𝗡𝗧

Anda melihat kesalahan "Invalid argument" saat menjalankan sudo modprobe nvidia-peermem di Ubuntu.

Hal ini terjadi karena Anda menggunakan stack InfiniBand standar Ubuntu. Modul nvidia-peermem memerlukan API khusus yang hanya ditemukan di MLNX_OFED. Jika Anda menggunakan stack rdma-core inbox, modul tersebut akan selalu gagal.

Jangan menginstal MLNX_OFED hanya untuk memperbaiki ini. Itu adalah langkah yang berat dan tidak perlu.

Jika Anda menggunakan GPU Hopper atau Blackwell dengan driver NVIDIA open, Anda tidak memerlukan nvidia-peermem. Anda sebaiknya menggunakan DMA-BUF sebagai gantinya. Ini menyediakan GPUDirect RDMA secara native.

Cara memperbaikinya:

Anda harus mengaktifkan nvidia-drm modeset=1. Ini adalah alasan paling umum mengapa DMA-BUF gagal.

Periksa status Anda saat ini: cat /sys/module/nvidia_drm/parameters/modeset

Jika menunjukkan N, ikuti langkah-langkah berikut:

Untuk memperbaikinya pada sesi saat ini: sudo modprobe -r nvidia_drm sudo modprobe nvidia_drm modeset=1

Untuk memperbaikinya secara permanen: echo 'options nvidia-drm modeset=1' | sudo tee /etc/modprobe.d/nvidia-drm-modeset.conf sudo update-initramfs -u

Persyaratan untuk DMA-BUF: • Driver kernel NVIDIA open • HCA dengan dukungan ODP (ConnectX-6 atau ConnectX-7) • GPU Hopper atau yang lebih baru (H100, H200, atau B200)

Untuk memverifikasi bahwa ini berfungsi, pastikan ketiga langkah ini berhasil dalam kode Anda:

  1. cudaMalloc() untuk mengalokasikan memori.
  2. cuMemGetHandleForAddressRange() untuk mengekspor memori sebagai file descriptor DMA-BUF.
  3. ibv_reg_dmabuf_mr() untuk mendaftarkan descriptor tersebut ke HCA.

Perbandingan:

Legacy (nvidia-peermem):

  • Memerlukan MLNX_OFED
  • Memerlukan modul eksternal
  • Berjalan di semua GPU

Modern (DMA-BUF):

  • Berjalan pada inbox rdma-core
  • Tidak memerlukan modul eksternal
  • Berjalan pada Hopper dan yang lebih baru
  • Lebih disukai oleh NVIDIA

Jika port InfiniBand Anda tetap dalam mode INIT, kemungkinan Anda kekurangan Subnet Manager. Jalankan: sudo apt install opensm sudo systemctl start opensm

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

Komunitas belajar opsional: https://t.me/GyaanSetuAi