𝗡𝗩𝗜𝗗𝗜𝗔 𝗣𝗘𝗘𝗥𝗠𝗘𝗠 𝗜𝗡𝗩𝗔𝗟𝗜𝗗 𝗔𝗥𝗚𝗨𝗠𝗘𝗡𝗧 పరిష్కారం
Ubuntuలో sudo modprobe nvidia-peermem రన్ చేస్తున్నప్పుడు మీకు "Invalid argument" అనే ఎర్రర్ కనిపిస్తుంది.
మీరు స్టాండర్డ్ Ubuntu InfiniBand స్టాక్ని ఉపయోగిస్తున్నందున ఇది జరుగుతుంది. nvidia-peermem మాడ్యూల్కు MLNX_OFEDలో మాత్రమే ఉండే ఒక ప్రత్యేక API అవసరం. మీరు inbox rdma-core స్టాక్ని ఉపయోగిస్తే, ఈ మాడ్యూల్ ఎల్లప్పుడూ విఫలమవుతుంది.
దీనిని పరిష్కరించడానికి మాత్రమే MLNX_OFEDని ఇన్స్టాల్ చేయకండి. అది అనవసరమైన మరియు భారీ ప్రక్రియ.
మీరు NVIDIA open driverతో Hopper లేదా Blackwell GPUలను ఉపయోగిస్తుంటే, మీకు nvidia-peermem అవసరం లేదు. దానికి బదులుగా DMA-BUFని ఉపయోగించాలి. ఇది నేరుగా (natively) 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)
ఇది పనిచేస్తుందో లేదో ధృవీకరించడానికి, మీ కోడ్లో ఈ మూడు దశలు విజయవంతమయ్యేలా చూసుకోండి:
- మెమరీని కేటాయించడానికి
cudaMalloc(). - మెమరీని DMA-BUF ఫైల్ డిస్క్రిప్టర్గా ఎగుమతి చేయడానికి
cuMemGetHandleForAddressRange(). - ఆ డిస్క్రిప్టర్ను HCAతో రిజిస్టర్ చేయడానికి
ibv_reg_dmabuf_mr().
పోలిక:
పాత పద్ధతి (Legacy - nvidia-peermem):
- MLNX_OFED అవసరం
- బాహ్య మాడ్యూల్ అవసరం
- అన్ని GPUలపై పనిచేస్తుంది
ఆధునిక పద్ధతి (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