మీరు మీ Proxmox VE సర్వర్లో NVIDIA GPUని ఇన్స్టాల్ చేసి ఉంటే, మీరు దానిని Proxmox VE LXC కంటైనర్కు పంపవచ్చు మరియు CUDA/AI త్వరణం (అంటే TensorFlow, PyTorch) కోసం కంటైనర్లో ఉపయోగించవచ్చు. మీరు ఇన్స్టాల్ చేసిన Plex మీడియా సర్వర్ లేదా NextCloud (ఉదాహరణకు)తో Proxmox VE LXC కంటైనర్లో మీడియా ట్రాన్స్కోడింగ్, వీడియో స్ట్రీమింగ్ మొదలైన వాటి కోసం NVIDIA GPUని కూడా ఉపయోగించవచ్చు.
ఈ కథనంలో, NVIDIA GPUని Proxmox VE 8 LXC కంటైనర్కి ఎలా పాస్త్రూ చేయాలో మేము మీకు చూపుతాము, తద్వారా మీరు CUDA/AI త్వరణం, మీడియా ట్రాన్స్కోడింగ్ లేదా NVIDIA GPU అవసరమయ్యే ఇతర పనుల కోసం దీన్ని ఉపయోగించవచ్చు.
విషయాల అంశం:
Proxmox VE 8లో NVIDIA GPU డ్రైవర్లను ఇన్స్టాల్ చేస్తోంది
Proxmox VE LXC కంటైనర్కు NVIDIA GPUని పాస్త్రూ చేయడానికి, మీరు మీ Proxmox VE 8 సర్వర్లో తప్పనిసరిగా NVIDIA GPU డ్రైవర్లను ఇన్స్టాల్ చేసి ఉండాలి. మీ Proxmox VE 8 సర్వర్లో అధికారిక NVIDIA GPU డ్రైవర్ల యొక్క తాజా వెర్షన్ను ఇన్స్టాల్ చేయడంలో మీకు ఏదైనా సహాయం అవసరమైతే, ఈ కథనాన్ని చదవండి .
NVIDIA GPU కెర్నల్ మాడ్యూల్స్ Proxmox VE 8లో స్వయంచాలకంగా లోడ్ చేయబడిందని నిర్ధారించుకోండి
మీరు మీ Proxmox VE 8 సర్వర్లో NVIDIA GPU డ్రైవర్లను ఇన్స్టాల్ చేసిన తర్వాత, మీరు NVIDIA GPU కెర్నల్ మాడ్యూల్స్ బూట్ సమయంలో స్వయంచాలకంగా లోడ్ చేయబడతాయని నిర్ధారించుకోవాలి.
ముందుగా, “/etc/modules-load.d/” డైరెక్టరీలో “nvidia.conf” వంటి కొత్త ఫైల్ని సృష్టించి, దాన్ని నానో టెక్స్ట్ ఎడిటర్తో తెరవండి.
$ నానో / మొదలైనవి / మాడ్యూల్స్-లోడ్.డి / nvidia.conf
కింది పంక్తులను జోడించి నొక్కండి
ఎన్విడియా
nvidia_uvm
మార్పులు అమలులోకి రావడానికి, కింది ఆదేశంతో “initramfs” ఫైల్ను నవీకరించండి:
$ update-initramfs -లో
కొన్ని కారణాల వలన, Proxmox VE 8 “/dev/” డైరెక్టరీలో అవసరమైన NVIDIA GPU పరికర ఫైల్లను సృష్టించదు. ఆ పరికర ఫైల్లు లేకుండా, Promox VE 8 LXC కంటైనర్లు NVIDIA GPUని ఉపయోగించలేవు.
Proxmox VE 8 బూట్ సమయంలో “/dev/” డైరెక్టరీలో NVIDIA GPU పరికర ఫైల్లను సృష్టిస్తుందని నిర్ధారించుకోవడానికి, “/etc/udev/rules.d/”లో udev నియమాల ఫైల్ “70-nvidia.rules” ని సృష్టించండి. డైరెక్టరీని నానో టెక్స్ట్ ఎడిటర్తో ఈ క్రింది విధంగా తెరవండి:
$ నానో / మొదలైనవి / udev / నియమాలు.డి / 70 -nvidia.rules
“70-nvidia.rules” ఫైల్లో కింది పంక్తులను టైప్ చేసి నొక్కండి
కెర్నల్ == 'ఎన్విడియా' , RUN+= '/bin/bash -c '/usr/bin/nvidia-smi -L && /bin/chmod 0666 /dev/nvidia*''
కెర్నల్ == 'nvidia_uvm' , RUN+= '/bin/bash -c '/usr/bin/nvidia-modtest -c0 -u && /bin/chmod 0666 /dev/nvidia-uvm*''
మార్పులు అమలులోకి రావడానికి, మీ Proxmox VE 8 సర్వర్ని ఈ క్రింది విధంగా రీబూట్ చేయండి:
$ రీబూట్
మీ Proxmox VE 8 సర్వర్ బూట్ అయిన తర్వాత, మీరు క్రింది స్క్రీన్షాట్లో చూడగలిగే విధంగా NVIDIA కెర్నల్ మాడ్యూల్స్ స్వయంచాలకంగా లోడ్ చేయబడతాయి:
$ lsmod | పట్టు ఎన్విడియా
అవసరమైన NVIDIA పరికర ఫైల్లు మీ Proxmox VE 8 సర్వర్ యొక్క “/dev” డైరెక్టరీలో కూడా ఉండాలి. NVIDIA పరికర ఫైల్ల CGroup IDలను గమనించండి. మీరు మీ Proxmox VE 8 సర్వర్ నుండి NVIDIA GPUలను పాస్త్రూ చేయాలనుకుంటున్న LXC కంటైనర్లో ఆ CGroup IDలను తప్పనిసరిగా అనుమతించాలి. మా విషయంలో, CGroup IDలు 195, 237 మరియు 226.
$ ls -lh / dev / ఎన్విడియా *$ ls -lh / dev / డ్రి
NVIDIA GPU పాస్త్రూ కోసం Proxmox VE 8 LXC కంటైనర్ను సృష్టిస్తోంది
NVIDIA CUDA మరియు NVIDIA cuDNN లైబ్రరీలు Ubuntu ప్యాకేజీ రిపోజిటరీల నుండి Ubuntu 22.04 LTSలో ఇన్స్టాల్ చేయడం సులువుగా ఉన్నందున మరియు NVIDIA CUDA క్రియేషన్ని పరీక్షించడం సులభం కనుక ప్రదర్శన కోసం మేము ఈ కథనంలో Ubuntu 22.04 LTS Proxmox VE 8 LXC కంటైనర్ను ఉపయోగించాము. . మీకు కావాలంటే, మీరు ఇతర Linux పంపిణీలను కూడా ఉపయోగించవచ్చు. ఆ సందర్భంలో, NVIDIA CUDA మరియు NVIDIA cuDNN ఇన్స్టాలేషన్ ఆదేశాలు మారుతూ ఉంటాయి. మీరు కోరుకున్న Linux పంపిణీ కోసం NVIDIA CUDA మరియు NVIDIA cuDNN ఇన్స్టాలేషన్ సూచనలను అనుసరించాలని నిర్ధారించుకోండి.
Proxmox VE 8 LXC కంటైనర్ను రూపొందించడంలో మీకు ఏదైనా సహాయం అవసరమైతే, ఈ కథనాన్ని చదవండి .
ప్రోమోక్స్ VE 8లో NVIDIA GPU పాస్త్రూ కోసం LXC కంటైనర్ను కాన్ఫిగర్ చేస్తోంది
NVIDIA GPU పాస్త్రూ కోసం LXC కంటైనర్ను (కంటైనర్ 102, అనుకుందాం) కాన్ఫిగర్ చేయడానికి, ఈ క్రింది విధంగా నానో టెక్స్ట్ ఎడిటర్తో Proxmox VE షెల్ నుండి LXC కంటైనర్ కాన్ఫిగరేషన్ ఫైల్ను తెరవండి:
$ నానో / మొదలైనవి / pve / lxc / 102 .conf
LXC కంటైనర్ కాన్ఫిగరేషన్ ఫైల్ చివరిలో కింది పంక్తులను టైప్ చేయండి:
lxc.cgroup.devices.allow: c 195 : * rwmlxc.cgroup.devices.allow: c 237 : * rwm
lxc.cgroup.devices.allow: c 226 : * rwm
lxc.mount.entry: / dev / nvidia0 దేవ్ / nvidia0 ఏదీ లేదు కట్టు ,ఐచ్ఛికం, సృష్టించు = ఫైల్
lxc.mount.entry: / dev / nvidiactl దేవ్ / nvidiactl ఏదీ లేదు కట్టు ,ఐచ్ఛికం, సృష్టించు = ఫైల్
lxc.mount.entry: / dev / nvidia-modeset dev / nvidia-modeset ఏదీ లేదు కట్టు ,ఐచ్ఛికం, సృష్టించు = ఫైల్
lxc.mount.entry: / dev / nvidia-uvm దేవ్ / nvidia-uvm ఏదీ లేదు కట్టు ,ఐచ్ఛికం, సృష్టించు = ఫైల్
lxc.mount.entry: / dev / nvidia-uvm-tools dev / nvidia-uvm-టూల్స్ ఏవీ లేవు కట్టు ,ఐచ్ఛికం, సృష్టించు = ఫైల్
lxc.mount.entry: / dev / డ్రై దేవ్ / డ్రై ఏదీ లేదు కట్టు ,ఐచ్ఛికం, సృష్టించు = మీరు
LXC కంటైనర్ కాన్ఫిగరేషన్ ఫైల్లోని “lxc.cgroup.devices.allow” లైన్లలో CGroup IDలను భర్తీ చేసినట్లు నిర్ధారించుకోండి. మీరు పూర్తి చేసిన తర్వాత, నొక్కండి
ఇప్పుడు, Proxmox VE 8 డాష్బోర్డ్ నుండి LXC కంటైనర్ను ప్రారంభించండి.
NVIDIA GPU పాస్త్రూ విజయవంతమైతే, LXC కంటైనర్ ఎటువంటి లోపం లేకుండా ప్రారంభం కావాలి మరియు మీరు కంటైనర్ యొక్క “/dev” డైరెక్టరీలో NVIDIA పరికర ఫైల్లను చూడాలి.
$ ls -lh / dev / ఎన్విడియా *$ ls -lh / dev / డ్రి
Proxmox VE 8 LXC కంటైనర్లో NVIDIA GPU డ్రైవర్లను ఇన్స్టాల్ చేస్తోంది
మేము ప్రదర్శన కోసం మా Proxmox VE 8 సర్వర్లో Ubuntu 22.04 LTS LXC కంటైనర్ను ఉపయోగిస్తున్నాము. మీరు LXC కంటైనర్లో మరొక Linux పంపిణీని ఉపయోగిస్తుంటే, మీ ఆదేశాలు మా నుండి కొద్దిగా మారుతూ ఉంటాయి. కాబట్టి, మీరు కంటైనర్లో ఉపయోగిస్తున్న Linux పంపిణీని బట్టి ఆదేశాలను సర్దుబాటు చేయాలని నిర్ధారించుకోండి.
“nvidia-smi” కమాండ్తో మీరు మీ Proxmox VE 8 సర్వర్లో ఇన్స్టాల్ చేసిన NVIDIA GPU డ్రైవర్ల వెర్షన్ను కనుగొనవచ్చు. మీరు చూడగలిగినట్లుగా, మేము మా Proxmox VE 8 సర్వర్లో NVIDIA GPU డ్రైవర్ల వెర్షన్ 535.146.02 ని ఇన్స్టాల్ చేసాము. కాబట్టి, మేము తప్పనిసరిగా మా LXC కంటైనర్లో NVIDIA GPU డ్రైవర్ల వెర్షన్ 535.146.02ని ఇన్స్టాల్ చేయాలి.
$ nvidia-smi
ముందుగా, LXC కంటైనర్లో CURLని ఈ క్రింది విధంగా ఇన్స్టాల్ చేయండి:
$ సముచితమైన నవీకరణ && సముచితమైనది ఇన్స్టాల్ కర్ల్ -మరియు
CURLని LXC కంటైనర్లో ఇన్స్టాల్ చేయాలి.
NVIDIA GPU డ్రైవర్ల వెర్షన్ 535.146.02ని ఇన్స్టాల్ చేయడానికి (అనుకుందాం), NVIDIA_VERSION ఎన్విరాన్మెంట్ వేరియబుల్ని ఎగుమతి చేయండి మరియు NVIDIA GPU డ్రైవర్స్ ఇన్స్టాలర్ ఫైల్ యొక్క అవసరమైన వెర్షన్ను డౌన్లోడ్ చేయడానికి CURL కమాండ్ (కంటైనర్పై)ని అమలు చేయండి.
$ ఎగుమతి NVIDIA_VERSION = '535.146.02'$ కర్ల్ -ఓ 'https://us.download.nvidia.com/XFree86/Linux-x86_64/ ${NVIDIA_VERSION} /NVIDIA-Linux-x86_64- ${NVIDIA_VERSION} .రన్'
NVIDIA GPU డ్రైవర్ల ఇన్స్టాలర్ ఫైల్ యొక్క సరైన సంస్కరణ మీరు క్రింది స్క్రీన్షాట్లో చూడగలిగే విధంగా LXC కంటైనర్లో డౌన్లోడ్ చేయబడాలి:
ఇప్పుడు, కంటైనర్లోని NVIDIA GPU డ్రైవర్స్ ఇన్స్టాలర్ ఫైల్కు ఈ క్రింది విధంగా ఎక్జిక్యూటబుల్ అనుమతిని జోడించండి:
$ chmod +x NVIDIA-Linux-x86_64-535.146.02.runకంటైనర్పై NVIDIA GPU డ్రైవర్లను ఇన్స్టాల్ చేయడానికి, “–no-kernel-module”తో NVIDIA GPU డ్రైవర్స్ ఇన్స్టాలర్ ఫైల్ను అమలు చేయండి. ఎంపిక క్రింది విధంగా:
$ . / NVIDIA-Linux-x86_64-535.146.02.run --నో-కెర్నల్-మాడ్యూల్ మీరు ఈ ఎంపికను చూసిన తర్వాత, 'సరే' ఎంచుకోండి మరియు నొక్కండి
'సరే' ఎంచుకోండి మరియు నొక్కండి
'అవును' ఎంచుకోండి మరియు నొక్కండి
'సరే' ఎంచుకోండి మరియు నొక్కండి
NVIDIA GPU డ్రైవర్లు LXC కంటైనర్లో ఇన్స్టాల్ చేయబడుతున్నాయి. ఇది పూర్తి చేయడానికి కొన్ని సెకన్ల సమయం పడుతుంది.
మీరు ఈ ప్రాంప్ట్ని చూసిన తర్వాత, 'అవును' ఎంచుకుని, నొక్కండి
'సరే' ఎంచుకోండి మరియు నొక్కండి
NVIDIA GPU డ్రైవర్లు ఇన్స్టాల్ చేయబడి పని చేస్తున్నాయో లేదో నిర్ధారించడానికి, LXC కంటైనర్లో “nvidia-smi” కమాండ్ని రన్ చేయండి. మీరు చూడగలిగినట్లుగా, NVIDIA GPU డ్రైవర్ వెర్షన్ 535.146.02 (Proxmox VE 8 సర్వర్లో ఇన్స్టాల్ చేసిన అదే వెర్షన్) LXC కంటైనర్లో ఇన్స్టాల్ చేయబడింది మరియు ఇది మా NVIDIA RTX 4070 GPUని సరిగ్గా గుర్తించింది.
$ nvidia-smi
Proxmox VE 8 LXC కంటైనర్పై NVIDIA CUDA మరియు cuDNNని ఇన్స్టాల్ చేస్తోంది
మేము ప్రదర్శన కోసం మా Proxmox VE 8 సర్వర్లో Ubuntu 22.04 LTS LXC కంటైనర్ను ఉపయోగిస్తున్నాము. మీరు LXC కంటైనర్లో మరొక Linux పంపిణీని ఉపయోగిస్తుంటే, మీ ఆదేశాలు మా నుండి కొద్దిగా మారుతూ ఉంటాయి. కాబట్టి, మీరు కంటైనర్లో ఉపయోగిస్తున్న Linux పంపిణీని బట్టి ఆదేశాలను సర్దుబాటు చేయాలని నిర్ధారించుకోండి.
ఉబుంటు 22.04 LTS Proxmox VE 8 కంటైనర్లో NVIDIA CUDA మరియు cuDNNలను ఇన్స్టాల్ చేయడానికి, కంటైనర్పై కింది ఆదేశాన్ని అమలు చేయండి:
$ సముచితమైనది ఇన్స్టాల్ బిల్డ్-ఎసెన్షియల్ nvidia-cuda-toolkit nvidia-cudnn ఇన్స్టాలేషన్ను నిర్ధారించడానికి, 'Y' నొక్కి ఆపై నొక్కండి
అవసరమైన ప్యాకేజీలు డౌన్లోడ్ చేయబడి, ఇన్స్టాల్ చేయబడుతున్నాయి. ఇది పూర్తి చేయడానికి కొంత సమయం పడుతుంది.
మీరు ఈ విండోను చూసిన తర్వాత, 'సరే' ఎంచుకోండి మరియు నొక్కండి
'నేను అంగీకరిస్తున్నాను' ఎంచుకోండి మరియు నొక్కండి
సంస్థాపన కొనసాగించాలి.
ఇన్స్టాలర్ NVIDIA నుండి NVIDIA cuDNN లైబ్రరీ ఆర్కైవ్ను డౌన్లోడ్ చేస్తోంది. ఇది పెద్ద ఫైల్, కాబట్టి ఇది పూర్తి కావడానికి చాలా సమయం పడుతుంది.
NVIDIA cuDNN లైబ్రరీ ఆర్కైవ్ డౌన్లోడ్ అయిన తర్వాత, ఇన్స్టాలేషన్ యధావిధిగా కొనసాగుతుంది.
ఈ సమయంలో, NVIDIA CUDA మరియు cuDNN ఉబుంటు 22.04 LTS Proxmox VE 8 LXC కంటైనర్లో ఇన్స్టాల్ చేయబడాలి.
Proxmox VE 8 LXC కంటైనర్లో NVIDIA CUDA యాక్సిలరేషన్ పనిచేస్తుందో లేదో తనిఖీ చేస్తోంది
NVIDIA CUDA సరిగ్గా ఇన్స్టాల్ చేయబడిందో లేదో ధృవీకరించడానికి, ఈ క్రింది విధంగా Proxmox VE 8 కంటైనర్లో “nvcc” కమాండ్ అందుబాటులో ఉందో లేదో తనిఖీ చేయండి:
$ nvcc --సంస్కరణ: Teluguమీరు చూడగలిగినట్లుగా, మేము మా Proxmox VE 8 కంటైనర్లో NVIDIA CUDA 11.5 ఇన్స్టాల్ చేసాము.
ఇప్పుడు, సరళమైన CUDA C ప్రోగ్రామ్ను వ్రాసి, కంపైల్ చేసి, అమలు చేద్దాం మరియు ప్రతిదీ ఆశించిన విధంగా పని చేస్తుందో లేదో చూద్దాం.
ముందుగా, ఫైల్లను క్రమబద్ధంగా ఉంచడానికి Proxmox VE 8 కంటైనర్లో “~/కోడ్” ప్రాజెక్ట్ డైరెక్టరీని సృష్టించండి.
$ mkdir ~ / కోడ్ఈ క్రింది విధంగా “~/కోడ్” ప్రాజెక్ట్ డైరెక్టరీకి నావిగేట్ చేయండి:
$ cd `/ కోడ్Proxmox VE 8 కంటైనర్లోని “~/code” డైరెక్టరీలో “hello.cu” వంటి కొత్త ఫైల్ని సృష్టించండి మరియు దానిని నానో టెక్స్ట్ ఎడిటర్తో తెరవండి:
$ నానో hello.cu“hello.cu” ఫైల్లో క్రింది కోడ్ లైన్లను టైప్ చేయండి:
#__గ్లోబల్__ శూన్యం అని చెప్పండి ( ) {
printf ( 'GPU నుండి హలో వరల్డ్! \n ' ) ;
}
పూర్ణాంక ప్రధాన ( ) {
printf ( 'CPU నుండి హలో వరల్డ్! \n ' ) ;
హలో చెప్పండి << 1 , 1 >> ( ) ;
cudaDeviceSynchronize ( ) ;
తిరిగి 0 ;
}
మీరు పూర్తి చేసిన తర్వాత, నొక్కండి
Proxmox VE 8 కంటైనర్లో “hello.cu” CUDA ప్రోగ్రామ్ను కంపైల్ చేయడానికి, కింది ఆదేశాలను అమలు చేయండి:
$ nvcc hello.cu -ఓ హలోఇప్పుడు, మీరు Proxmox VE 8 కంటైనర్లో “హలో” CUDA ప్రోగ్రామ్ని ఈ క్రింది విధంగా అమలు చేయవచ్చు:
$ . / హలోNVIDIA CUDA త్వరణం కోసం Proxmox VE 8 కంటైనర్ NVIDIA GPUని ఉపయోగించగలిగితే, ప్రోగ్రామ్ క్రింది స్క్రీన్షాట్లో చూపిన విధంగా రెండు పంక్తులను ముద్రిస్తుంది.
Proxmox VE 8 కంటైనర్ నుండి NVIDIA GPUని యాక్సెస్ చేయకపోతే, ప్రోగ్రామ్ మొదటి లైన్ను మాత్రమే ప్రింట్ చేస్తుంది, ఇది 'CPU నుండి హలో వరల్డ్!', రెండవ లైన్ కాదు.
ముగింపు
ఈ కథనంలో, Proxmox VE 8 హోస్ట్ నుండి Proxmox VE 8 LXC కంటైనర్కు NVIDIA GPUని ఎలా పాస్త్రూ చేయాలో మేము మీకు చూపించాము. Proxmox VE 8 కంటైనర్లో అదే NVIDIA GPU డ్రైవర్లను Proxmox VE హోస్ట్గా ఎలా ఇన్స్టాల్ చేయాలో కూడా మేము మీకు చూపించాము. చివరగా, ఉబుంటు 22.04 LTS Proxmox VE 8 కంటైనర్లో NVIDIA CUDA మరియు NVIDIA cuDNNని ఎలా ఇన్స్టాల్ చేయాలో మరియు Proxmox VE 8 కంటైనర్లో ఒక సాధారణ NVIDIA CUDA ప్రోగ్రామ్ను కంపైల్ చేసి రన్ చేయడం ఎలాగో మేము మీకు చూపించాము.