Jos sinulla on NVIDIA GPU asennettuna Proxmox VE -palvelimellesi, voit siirtää sen Proxmox VE LXC -säilöön ja käyttää sitä säilössä CUDA/AI-kiihdytykseen (eli TensorFlow, PyTorch). Voit myös käyttää NVIDIA GPU:ta median transkoodaukseen, videoiden suoratoistoon jne. Proxmox VE LXC -säiliössä, jossa on asennettu Plex Media Server tai NextCloud (esimerkiksi).
Tässä artikkelissa näytämme sinulle, kuinka voit siirtää NVIDIA GPU:n Proxmox VE 8 LXC -säiliöön, jotta voit käyttää sitä CUDA/AI-kiihdytykseen, median transkoodaukseen tai muihin NVIDIA GPU:ta vaativiin tehtäviin.
Sisällön aihe:
NVIDIA GPU -ajurien asentaminen Proxmox VE 8:aan
Jotta voit siirtää NVIDIA GPU:n Proxmox VE LXC -säilöön, sinulla on oltava NVIDIA GPU -ohjaimet asennettuna Proxmox VE 8 -palvelimellesi. Jos tarvitset apua virallisten NVIDIA GPU -ohjainten uusimman version asentamisessa Proxmox VE 8 -palvelimellesi, lue tämä artikkeli .
Varmista, että NVIDIA GPU:n ydinmoduulit ladataan Proxmox VE 8:aan automaattisesti
Kun olet asentanut NVIDIA GPU -ohjaimet Proxmox VE 8 -palvelimellesi, sinun on varmistettava, että NVIDIA GPU:n ydinmoduulit ladataan automaattisesti käynnistyksen yhteydessä.
Luo ensin uusi tiedosto, kuten 'nvidia.conf', '/etc/modules-load.d/'-hakemistoon ja avaa se nano-tekstieditorilla.
$ nano / jne / modules-load.d / nvidia.conf
Lisää seuraavat rivit ja paina
nvidia
nvidia_uvm
Jotta muutokset tulevat voimaan, päivitä 'initramfs' -tiedosto seuraavalla komennolla:
$ update-initramfs -sisään
Jostain syystä Proxmox VE 8 ei luo vaadittuja NVIDIA GPU -laitetiedostoja /dev/-hakemistoon. Ilman näitä laitetiedostoja Promox VE 8 LXC -säiliöt eivät voi käyttää NVIDIA GPU:ta.
Varmistaaksesi, että Proxmox VE 8 luo NVIDIA GPU -laitetiedostot /dev/-hakemistoon käynnistyksen yhteydessä, luo udev-sääntötiedosto '70-nvidia.rules' kansioon '/etc/udev/rules.d/'. hakemistoon ja avaa se nano-tekstieditorilla seuraavasti:
$ nano / jne / udev / säännöt.d / 70 -nvidia.rules
Kirjoita seuraavat rivit '70-nvidia.rules' -tiedostoon ja paina
YDIN == 'nvidia' , RUN+= '/bin/bash -c '/usr/bin/nvidia-smi -L && /bin/chmod 0666 /dev/nvidia*''
YDIN == 'nvidia_uvm' , RUN+= '/bin/bash -c '/usr/bin/nvidia-modtest -c0 -u && /bin/chmod 0666 /dev/nvidia-uvm*''
Jotta muutokset tulevat voimaan, käynnistä Proxmox VE 8 -palvelin uudelleen seuraavasti:
$ käynnistä uudelleen
Kun Proxmox VE 8 -palvelin käynnistyy, NVIDIA-ytimen moduulit tulee ladata automaattisesti, kuten näet seuraavassa kuvakaappauksessa:
$ lsmod | ote nvidia
Tarvittavat NVIDIA-laitetiedostot tulee myös täyttää Proxmox VE 8 -palvelimesi /dev-hakemistossa. Huomaa NVIDIA-laitetiedostojen CGroup-tunnukset. Sinun on sallittava ne CGroup-tunnukset LXC-säiliössä, jossa haluat välittää NVIDIA-grafiikkasuorittimet Proxmox VE 8 -palvelimeltasi. Meidän tapauksessamme CGroup-tunnukset ovat 195, 237 ja 226.
$ ls -lh / kehittäjä / nvidia *$ ls -lh / kehittäjä / dri
Proxmox VE 8 LXC -säilön luominen NVIDIA GPU Passthroughille
Tässä artikkelissa käytimme Ubuntu 22.04 LTS Proxmox VE 8 LXC -säilöä esittelyyn, koska NVIDIA CUDA- ja NVIDIA cuDNN -kirjastot on helppo asentaa Ubuntu 22.04 LTS:ään Ubuntu-pakettivarastoista ja on helpompi testata, toimiiko NVIDIA CUDA acceleration. . Halutessasi voit käyttää myös muita Linux-jakeluja. Siinä tapauksessa NVIDIA CUDA- ja NVIDIA cuDNN -asennuskomennot vaihtelevat. Muista noudattaa haluamasi Linux-jakelun NVIDIA CUDA- ja NVIDIA cuDNN -asennusohjeita.
Jos tarvitset apua Proxmox VE 8 LXC -säiliön luomisessa, lue tämä artikkeli .
LXC-säilön määrittäminen NVIDIA GPU Passthroughille Promox VE 8:ssa
Jos haluat määrittää LXC-säilön (säilö 102) NVIDIA GPU -läpivientiä varten, avaa LXC-säilön määritystiedosto Proxmox VE -kuoresta nano-tekstieditorilla seuraavasti:
$ nano / jne / pve / lxc / 102 .conf
Kirjoita seuraavat rivit LXC-säilön määritystiedoston loppuun:
lxc.cgroup.devices.allow: c 195 : * rwmlxc.cgroup.devices.allow: c 237 : * rwm
lxc.cgroup.devices.allow: c 226 : * rwm
lxc.mount.entry: / kehittäjä / nvidia0 kehittäjä / nvidia0 ei mitään sitoa ,valinnainen, luoda = tiedosto
lxc.mount.entry: / kehittäjä / nvidiactl dev / nvidiactl ei mitään sitoa ,valinnainen, luoda = tiedosto
lxc.mount.entry: / kehittäjä / nvidia-modeset dev / nvidia-modeset ei mitään sitoa ,valinnainen, luoda = tiedosto
lxc.mount.entry: / kehittäjä / nvidia-uvm dev / nvidia-uvm ei mitään sitoa ,valinnainen, luoda = tiedosto
lxc.mount.entry: / kehittäjä / nvidia-uvm-tools dev / nvidia-uvm-tools ei mitään sitoa ,valinnainen, luoda = tiedosto
lxc.mount.entry: / kehittäjä / dri kehittäjä / dri ei mitään sitoa ,valinnainen, luoda = sinä
Muista korvata CGroup-tunnukset LXC-säilön määritystiedoston lxc.cgroup.devices.allow-riveillä. Kun olet valmis, paina
Käynnistä nyt LXC-säiliö Proxmox VE 8 -kojelaudalta.
Jos NVIDIA GPU:n läpivienti onnistuu, LXC-säilön pitäisi käynnistyä ilman virheitä ja sinun pitäisi nähdä NVIDIA-laitetiedostot säilön /dev-hakemistossa.
$ ls -lh / kehittäjä / nvidia *$ ls -lh / kehittäjä / dri
NVIDIA GPU -ajurien asentaminen Proxmox VE 8 LXC -säiliöön
Käytämme Ubuntu 22.04 LTS LXC -konttia Proxmox VE 8 -palvelimellamme esittelyyn. Jos käytät toista Linux-jakelua LXC-säiliössä, komentosi poikkeavat hieman meidän. Muista siis säätää komennot säilössä käyttämäsi Linux-jakelun mukaan.
Löydät Proxmox VE 8 -palvelimellesi asentamasi NVIDIA GPU -ohjainversion 'nvidia-smi'-komennolla. Kuten näet, meillä on NVIDIA GPU -ohjainten versio 535.146.02 asennettuna Proxmox VE 8 -palvelimellemme. Joten meidän on asennettava myös NVIDIA GPU -ohjainten versio 535.146.02 LXC-säilöimme.
$ nvidia-smi
Asenna ensin CURL LXC-säilöön seuraavasti:
$ osuva päivitys && apt Asentaa kiemura -ja
CURL tulee asentaa LXC-säilöön.
Asenna NVIDIA GPU -ajurien versio 535.146.02 (oletetaan) viemällä NVIDIA_VERSION-ympäristömuuttuja ja suorittamalla CURL-komento (säilössä) ladataksesi vaaditun version NVIDIA GPU -ohjainten asennustiedostosta.
$ viedä NVIDIA_VERSION = '535.146.02'$ curl -O 'https://us.download.nvidia.com/XFree86/Linux-x86_64/ ${NVIDIA_VERSION} /NVIDIA-Linux-x86_64- ${NVIDIA_VERSION} .juosta'
Oikea versio NVIDIA GPU -ohjainten asennustiedostosta tulee ladata LXC-säilöön, kuten näet seuraavassa kuvakaappauksessa:
Lisää nyt suoritettava lupa NVIDIA GPU -ohjainten asennustiedostoon säilöön seuraavasti:
$ chmod +x NVIDIA-Linux-x86_64-535.146.02.runAsenna NVIDIA GPU -ohjaimet säiliöön suorittamalla NVIDIA GPU drivers -asennustiedosto '–no-kernel-module' kanssa. vaihtoehto seuraavasti:
$ . / NVIDIA-Linux-x86_64-535.146.02.run --no-kernel-module Kun näet tämän vaihtoehdon, valitse 'OK' ja paina
Valitse 'OK' ja paina
Valitse 'Kyllä' ja paina
Valitse 'OK' ja paina
NVIDIA GPU-ajureita asennetaan LXC-säilöön. Suorittaminen kestää muutaman sekunnin.
Kun näet tämän kehotteen, valitse 'Kyllä' ja paina
Valitse 'OK' ja paina
Varmista, että NVIDIA-grafiikkasuoritinohjaimet on asennettu ja toimivat, suorittamalla 'nvidia-smi'-komento LXC-säilössä. Kuten näet, NVIDIA GPU -ohjaimen versio 535.146.02 (sama versio kuin Proxmox VE 8 -palvelimeen asennettuna) on asennettu LXC-säilöön ja se havaitsi NVIDIA RTX 4070 GPU:n oikein.
$ nvidia-smi
NVIDIA CUDA:n ja cuDNN:n asentaminen Proxmox VE 8 LXC -säiliöön
Käytämme Ubuntu 22.04 LTS LXC -konttia Proxmox VE 8 -palvelimellamme esittelyyn. Jos käytät toista Linux-jakelua LXC-säiliössä, komentosi poikkeavat hieman meidän. Muista siis säätää komennot säilössä käyttämäsi Linux-jakelun mukaan.
Asenna NVIDIA CUDA ja cuDNN Ubuntu 22.04 LTS Proxmox VE 8 -säilöön suorittamalla seuraava komento säilössä:
$ apt Asentaa build-essential nvidia-cuda-toolkit nvidia-cudnn Vahvista asennus painamalla 'Y' ja sitten paina
Tarvittavia paketteja ladataan ja asennetaan. Valmistuminen kestää jonkin aikaa.
Kun näet tämän ikkunan, valitse 'OK' ja paina
Valitse 'Hyväksyn' ja paina
Asennusta pitäisi jatkaa.
Asennusohjelma lataa NVIDIA cuDNN -kirjastoarkiston NVIDIAsta. Se on iso tiedosto, joten sen täyttäminen kestää kauan.
Kun NVIDIA cuDNN -kirjastoarkisto on ladattu, asennuksen pitäisi jatkua tavalliseen tapaan.
Tässä vaiheessa NVIDIA CUDA ja cuDNN tulisi asentaa Ubuntu 22.04 LTS Proxmox VE 8 LXC -säiliöön.
Tarkistaminen, toimiiko NVIDIA CUDA Acceleration Proxmox VE 8 LXC -säiliössä
Varmista, että NVIDIA CUDA on asennettu oikein, tarkistamalla, onko nvcc-komento käytettävissä Proxmox VE 8 -säiliössä seuraavasti:
$ nvcc --versioKuten näet, meillä on NVIDIA CUDA 11.5 asennettuna Proxmox VE 8 -konttiimme.
Nyt kirjoitetaan, käännetään ja ajetaan yksinkertainen CUDA C -ohjelma ja katsotaan, toimiiko kaikki odotetulla tavalla.
Luo ensin ~/code-projektihakemisto Proxmox VE 8 -säiliöön pitääksesi tiedostot järjestyksessä.
$ mkdir ~ / koodiSiirry '~/code' -projektihakemistoon seuraavasti:
$ CD `/ koodiLuo uusi tiedosto, kuten 'hello.cu' Proxmox VE 8 -säiliön '~/code' -hakemistoon ja avaa se nanotekstieditorilla:
$ nano hei.cuKirjoita seuraavat koodirivit hello.cu-tiedostoon:
#include__global__ void sayHei ( ) {
printf ( 'Hei maailma GPU:lta! \n ' ) ;
}
int main ( ) {
printf ( 'Hei maailma CPU:lta! \n ' ) ;
sayHello << 1 , 1 >> ( ) ;
cudaDeviceSynchronize ( ) ;
palata 0 ;
}
Kun olet valmis, paina
Kääntääksesi 'hello.cu' CUDA-ohjelman Proxmox VE 8 -säilöön, suorita seuraavat komennot:
$ nvcc hello.cu -O HeiNyt voit suorittaa 'hello' CUDA-ohjelman Proxmox VE 8 -säiliössä seuraavasti:
$ . / HeiJos Proxmox VE 8 -säiliö voi käyttää NVIDIA GPU:ta NVIDIA CUDA -kiihdytykseen, ohjelma tulostaa kaksi riviä seuraavan kuvakaappauksen mukaisesti.
Jos NVIDIA GPU ei ole käytettävissä Proxmox VE 8 -säiliöstä, ohjelma tulostaa vain ensimmäisen rivin, joka on 'Hei maailma suorittimesta!', ei toista riviä.
Johtopäätös
Tässä artikkelissa näytimme sinulle, kuinka NVIDIA GPU siirretään Proxmox VE 8 -isännästä Proxmox VE 8 LXC -säiliöön. Näimme myös, kuinka voit asentaa saman version NVIDIA GPU-ajureista Proxmox VE 8 -säiliöön kuin Proxmox VE -isäntään. Lopuksi näytimme sinulle, kuinka NVIDIA CUDA ja NVIDIA cuDNN asennetaan Ubuntu 22.04 LTS Proxmox VE 8 -säilöön ja käännetään ja suoritetaan yksinkertainen NVIDIA CUDA -ohjelma Proxmox VE 8 -säiliössä.