إصلاح خطأ "Invalid argument" في NVIDIA PEERMEM

تظهر لك رسالة الخطأ "Invalid argument" عند تشغيل الأمر sudo modprobe nvidia-peermem على نظام Ubuntu.

يحدث هذا لأنك تستخدم حزمة InfiniBand القياسية في Ubuntu. تتطلب وحدة nvidia-peermem واجهة برمجة تطبيقات (API) محددة لا توجد إلا في MLNX_OFED. إذا كنت تستخدم حزمة rdma-core المدمجة (inbox)، فستفشل الوحدة دائمًا.

لا تقم بتثبيت MLNX_OFED لمجرد إصلاح هذا الخطأ؛ فهذه خطوة ثقيلة وغير ضرورية.

إذا كنت تستخدم وحدات معالجة الرسومات من طراز Hopper أو Blackwell مع تعريف NVIDIA المفتوح (NVIDIA open driver)، فلن تحتاج إلى nvidia-peermem. بدلاً من ذلك، يجب عليك استخدام DMA-BUF، حيث يوفر تقنية GPUDirect RDMA بشكل أصلي.

كيفية الإصلاح:

يجب عليك تفعيل nvidia-drm modeset=1. هذا هو السبب الأكثر شيوعًا لفشل DMA-BUF.

تحقق من الحالة الحالية: cat /sys/module/nvidia_drm/parameters/modeset

إذا ظهرت النتيجة N، فاتبع الخطوات التالية:

للإصلاح في الجلسة الحالية: sudo modprobe -r nvidia_drm sudo modprobe nvidia_drm modeset=1

للإصلاح بشكل دائم: echo 'options nvidia-drm modeset=1' | sudo tee /etc/modprobe.d/nvidia-drm-modeset.conf sudo update-initramfs -u

متطلبات DMA-BUF: • تعريف نواة NVIDIA المفتوح (NVIDIA open kernel driver) • بطاقة HCA تدعم ODP (مثل ConnectX-6 أو ConnectX-7) • وحدة معالجة رسومات من طراز Hopper أو أحدث (H100، H200، أو B200)

للتحقق من عمله، تأكد من نجاح هذه الخطوات الثلاث في الكود الخاص بك:

  1. cudaMalloc() لتخصيص الذاكرة.
  2. cuMemGetHandleForAddressRange() لتصدير الذاكرة كمُعرف ملف (file descriptor) من نوع DMA-BUF.
  3. ibv_reg_dmabuf_mr() لتسجيل ذلك المُعرف مع بطاقة HCA.

مقارنة:

النظام القديم (nvidia-peermem):

  • يتطلب MLNX_OFED
  • يتطلب وحدة خارجية
  • يعمل على جميع وحدات معالجة الرسومات

النظام الحديث (DMA-BUF):

  • يعمل على حزمة rdma-core المدمجة
  • لا يتطلب وحدة خارجية
  • يعمل على طراز Hopper والأحدث
  • الخيار المفضل من NVIDIA

إذا ظلت منافذ InfiniBand في وضع INIT، فمن المحتمل أنك تفتقر إلى مدير الشبكة الفرعية (Subnet Manager). قم بتشغيل: sudo apt install opensm sudo systemctl start opensm

المصدر: https://dev.to/fpolica91/nvidia-peermem-invalid-argument-fix-2b3n

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi