NVIDIA PEERMEM INVALID ARGUMENT FIX

જ્યારે તમે Ubuntu પર sudo modprobe nvidia-peermem ચલાવો છો ત્યારે તમને "Invalid argument" એરર જોવા મળે છે.

આવું એટલા માટે થાય છે કારણ કે તમે સ્ટાન્ડર્ડ Ubuntu InfiniBand સ્ટેકનો ઉપયોગ કરી રહ્યા છો. nvidia-peermem મોડ્યુલને એક ચોક્કસ API ની જરૂર હોય છે જે ફક્ત MLNX_OFED માં જ જોવા મળે છે. જો તમે inbox rdma-core સ્ટેકનો ઉપયોગ કરો છો, તો મોડ્યુલ હંમેશા નિષ્ફળ જશે.

આને ઠીક કરવા માટે ફક્ત MLNX_OFED ઇન્સ્ટોલ કરશો નહીં. તે એક ભારે અને બિનજરૂરી પગલું છે.

જો તમે NVIDIA open driver સાથે Hopper અથવા Blackwell GPUs નો ઉપયોગ કરો છો, તો તમને 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 open kernel driver • ODP સપોર્ટ સાથેનું HCA (ConnectX-6 અથવા ConnectX-7) • Hopper અથવા તેનાથી નવા GPU (H100, H200, અથવા B200)

તે કામ કરે છે તેની ખાતરી કરવા માટે, તમારા કોડમાં આ ત્રણ પગલાં સફળ થાય તેની ખાતરી કરો:

  1. cudaMalloc() મેમરી ફાળવવા માટે.
  2. cuMemGetHandleForAddressRange() મેમરીને DMA-BUF ફાઇલ ડિસ્ક્રિપ્ટર તરીકે એક્સપોર્ટ કરવા માટે.
  3. ibv_reg_dmabuf_mr() તે ડિસ્ક્રિપ્ટરને HCA સાથે રજિસ્ટર કરવા માટે.

સરખામણી:

Legacy (nvidia-peermem):

  • MLNX_OFED ની જરૂર છે
  • બાહ્ય મોડ્યુલની જરૂર છે
  • તમામ GPUs પર કામ કરે છે

Modern (DMA-BUF):

  • inbox rdma-core પર કામ કરે છે
  • કોઈ બાહ્ય મોડ્યુલની જરૂર નથી
  • Hopper અને તેનાથી નવા પર કામ કરે છે
  • NVIDIA દ્વારા પસંદ કરવામાં આવે છે

જો તમારા InfiniBand પોર્ટ્સ INIT મોડમાં રહે છે, તો કદાચ તમારી પાસે Subnet Manager નથી. આ ચલાવો: 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