NVIDIA GPU:n välittäminen Proxmox VE 8 -säiliöihin CUDA/AI-kiihdytystä ja median muuntamista varten

Nvidia Gpu N Valittaminen Proxmox Ve 8 Sailioihin Cuda Ai Kiihdytysta Ja Median Muuntamista Varten



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 + X sen jälkeen 'Y' ja nvidia.conf-tiedoston tallentaminen:



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 + X sen jälkeen 'Y' ja tallentaaksesi tiedoston:

# luo tarvittavat NVIDIA-laitetiedostot kansioon /dev/*

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 : * rwm

lxc.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 + X sen jälkeen 'Y' ja tallentaaksesi LXC-säilön määritystiedoston.

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.run

Asenna 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 . NVIDIA GPU -ohjaimet tulee asentaa LXC-säilöyn.

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 --versio

Kuten 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 ~ / koodi

Siirry '~/code' -projektihakemistoon seuraavasti:

$ CD `/ koodi

Luo uusi tiedosto, kuten 'hello.cu' Proxmox VE 8 -säiliön '~/code' -hakemistoon ja avaa se nanotekstieditorilla:

$ nano hei.cu

Kirjoita 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 + X sen jälkeen 'Y' ja tallentaaksesi hello.cu-tiedoston.

Kääntääksesi 'hello.cu' CUDA-ohjelman Proxmox VE 8 -säilöön, suorita seuraavat komennot:

$ nvcc hello.cu -O Hei

Nyt voit suorittaa 'hello' CUDA-ohjelman Proxmox VE 8 -säiliössä seuraavasti:

$ . / Hei

Jos 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ä.

Viitteet: