Instalace ovladačů NVIDIA GPU na virtuálních počítačích řady N s Linuxem
Upozornění
Tento článek odkazuje na CentOS, což je linuxová distribuce se stavem Konec životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.
Platí pro: ✔️ Virtuální počítače s Linuxem
Pokud chcete využívat možnosti GPU virtuálních počítačů řady Azure N-series, které jsou podporovány grafickými procesory NVIDIA, musíte nainstalovat ovladače NVIDIA GPU. Rozšíření ovladače NVIDIA GPU nainstaluje na virtuální počítač řady N-series odpovídající ovladače NVIDIA CUDA nebo GRID. Nainstalujte nebo spravujte rozšíření pomocí webu Azure Portal nebo nástrojů, jako jsou azure CLI nebo šablony Azure Resource Manageru. Informace o podporovaných distribucích a krocích nasazení najdete v dokumentaci k rozšíření ovladače NVIDIA GPU.
Pokud se rozhodnete ovladače NVIDIA GPU nainstalovat ručně, najdete v tomto článku podporované distribuce, ovladače a kroky instalace a ověření. Informace o ručním nastavení ovladačů jsou k dispozici také pro virtuální počítače s Windows.
Podrobnosti o specifikacích virtuálních počítačů řady N-series, kapacitách úložiště a disku najdete v tématu Velikosti virtuálních počítačů s Linuxem GPU.
Podporované distribuce a ovladače
Ovladače NVIDIA CUDA
Nejnovější ovladače CUDA a podporované operační systémy naleznete na webu NVIDIA . Ujistěte se, že instalujete nebo upgradujete na nejnovější podporované ovladače CUDA pro vaši distribuci.
Poznámka:
Nejnovější podporované ovladače CUDA pro původní virtuální počítače SKU řady NC-series jsou aktuálně 470.82.01. Novější verze ovladačů nejsou podporovány na kartách K80 v síťovém adaptéru.
Poznámka:
Virtuální počítače Azure NVads A10 v5 podporují pouze verzi ovladače GRID 14.1(510.73) nebo vyšší. Ovladač vGPU pro skladovou položku A10 je jednotný ovladač, který podporuje grafické i výpočetní úlohy.
Tip
Alternativou k ruční instalaci ovladače CUDA na virtuálním počítači s Linuxem můžete nasadit image virtuálního počítače Azure Datová Věda. Edice DSVM pro Ubuntu 16.04 LTS předinstaluje ovladače NVIDIA CUDA, knihovnu CUDA Deep Neural Network Library a další nástroje.
Ovladače NVIDIA GRID
Microsoft redistribuuje instalační programy ovladačů NVIDIA GRID pro virtuální počítače řady NV a NVv3 používané jako virtuální pracovní stanice nebo pro virtuální aplikace. Na virtuální počítače Azure NV nainstalujte pouze tyto ovladače GRIDu, pouze v operačních systémech uvedených v následující tabulce. Mezi tyto ovladače patří licencování softwaru GRID Virtual GPU v Azure. Nemusíte nastavovat softwarový licenční server NVIDIA vGPU.
Ovladače GRID redistribuované Azure nefungují na většině virtuálních počítačů řady jiných než NV, jako jsou NC, NCv2, NCv3, ND a NDv2-series, ale fungují na řadě NCasT4v3.
Další informace o konkrétních verzích virtuálních jednotek vGPU a větev ovladačů naleznete na webu NVIDIA .
Distribuce | Ovladač |
---|---|
Ubuntu 20.04 LTS, 22.04 LTS Red Hat Enterprise Linux 7.9, 8.6, 8.8, 8.9, 8.10 SUSE Linux Enterprise Server 15 SP2, 12 SP2,12 SP5 Rocky Linux 8.4 |
NVIDIA vGPU 16.5, větev ovladače R535 NVIDIA vGPU 16.5, větev ovladače R535 |
Poznámka:
Pro virtuální počítače Azure NVads A10 v5 doporučujeme zákazníkům vždy používat nejnovější verzi ovladače. Nejnovější větev hlavního ovladače NVIDIA (n) je pouze zpětná kompilace s předchozí hlavní větví (n-1). Například vGPU 17.x je zpětně kompatibilní pouze s vGPU 16.x. Všechny virtuální počítače stále běží n-2 nebo nižší, můžou se při nasazení nejnovější větve jednotky do hostitelů Azure zobrazit selhání ovladačů.
NVs_v3 virtuální počítače podporují pouze verzi ovladače vGPU 16 nebo nižší .
Ovladač GRID 17.3 aktuálně podporuje pouze NCasT4_v3 řadu virtuálních počítačů. Chcete-li použít tento ovladač, stáhněte a nainstalujte ovladač GRID 17.3 ručně . Máme problémy s licencováním řady NVv5 A10 a Azure aktivně spolupracuje s Nvidia na jeho řešení. V řadě NVv5 A10 používejte verze nižší než v17.x. Rozšíření aktuálně instaluje ovladače 16.5 GRID.
Úplný seznam všech předchozích odkazů ovladačů Nvidia GRID najdete na GitHubu .
Upozorňující
Instalace softwaru třetích stran na produkty Red Hat může mít vliv na podmínky podpory Red Hat. Informace najdete v článku znalostní báze Red Hat.
Instalace ovladačů CUDA na virtuální počítače řady N-series
Tady je postup instalace ovladačů CUDA ze sady NVIDIA CUDA Toolkit na virtuální počítače řady N-series.
Vývojáři C a C++ můžou volitelně nainstalovat úplnou sadu nástrojů pro sestavování aplikací akcelerovaných gpu. Další informace najdete v průvodci instalací CUDA.
Pokud chcete nainstalovat ovladače CUDA, nastavte připojení SSH k jednotlivým virtuálním počítačům. Pokud chcete ověřit, že systém má GPU podporující CUDA, spusťte následující příkaz:
lspci | grep -i NVIDIA
Výstup je podobný následujícímu příkladu (zobrazuje kartu NVIDIA Tesla K80):
Lspci zobrazí seznam zařízení PCIe na virtuálním počítači, včetně síťových adaptérů InfiniBand a GPU( pokud existuje). Pokud se lspci úspěšně nevrátí, možná budete muset nainstalovat LIS na CentOS/RHEL.
Pak spusťte instalační příkazy specifické pro vaši distribuci.
Ubuntu
Ubuntu balíčky NVIDIA proprietární ovladače. Tyto ovladače pocházejí přímo od NVIDIA a jsou jednoduše zabalené Ubuntu, aby je systém mohl automaticky spravovat. Stahování a instalace ovladačů z jiného zdroje může vést k nefunkčnímu systému. Instalace ovladačů třetích stran navíc vyžaduje další kroky na virtuálních počítačích s povolenou funkcí TrustedLaunch a Secure Boot. Vyžaduje, aby uživatel přidal nový klíč vlastníka počítače, aby se systém spustí. Ovladače z Ubuntu jsou podepsané Canonical a budou fungovat se zabezpečeným spouštěním.
Instalační
ubuntu-drivers
nástroj:sudo apt update && sudo apt install -y ubuntu-drivers-common
Nainstalujte nejnovější ovladače NVIDIA:
sudo ubuntu-drivers install
Po instalaci ovladače GPU restartujte virtuální počítač.
Stáhněte a nainstalujte sadu nástrojů CUDA z NVIDIA:
Poznámka:
Příklad ukazuje cestu balíčku CUDA pro Ubuntu 24.04 LTS. Nahraďte cestu specifickou pro verzi, kterou chcete použít.
Úplnou cestu specifickou pro každou verzi najdete na stránce Zdrojů NVIDIA CUDA nebo WEBU NVIDIA CUDA.
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb sudo apt install -y ./cuda-keyring_1.1-1_all.deb sudo apt update sudo apt -y install cuda-toolkit-12-5
Instalace může trvat několik minut.
Po dokončení instalace restartujte virtuální počítač:
sudo reboot
Ověřte, že je GPU správně rozpoznán (po restartování):
nvidia-smi
Aktualizace ovladačů NVIDIA
Po nasazení doporučujeme pravidelně aktualizovat ovladače NVIDIA.
sudo apt update
sudo apt full-upgrade
CentOS nebo Red Hat Enterprise Linux
Aktualizujte jádro (doporučeno). Pokud se rozhodnete neaktualizovat jádro, ujistěte se, že verze
kernel-devel
adkms
jsou vhodné pro vaše jádro.sudo yum install kernel kernel-tools kernel-headers kernel-devel sudo reboot
Nainstalujte nejnovější integrační služby pro Linux pro Hyper-V a Azure. Ověřením výsledků lspci zkontrolujte, jestli je lis vyžadován. Pokud jsou všechna zařízení s GPU uvedená podle očekávání, instalace LIS se nevyžaduje.
LIS se vztahuje na Red Hat Enterprise Linux, CentOS a Oracle Linux Red Hat Compatible Kernel 5.2-5.11, 6.0-6.10 a 7.0-7.7. Další podrobnosti najdete v dokumentaci ke službě Linux Integration Services. Tento krok přeskočte, pokud plánujete používat CentOS/RHEL 7.8 (nebo vyšší verze), protože lis už pro tyto verze nevyžaduje.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo reboot
Znovu se připojte k virtuálnímu počítači a pokračujte v instalaci pomocí následujících příkazů:
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo sudo yum clean all sudo yum -y install nvidia-driver-latest-dkms cuda-drivers
Instalace může trvat několik minut.
Například CentOS 8 a RHEL 8 potřebují následující kroky.
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo yum install dkms
sudo wget https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo -O /etc/yum.repos.d/cuda-rhel8.repo
sudo yum install cuda-drivers
Pokud chcete volitelně nainstalovat kompletní sadu nástrojů CUDA, zadejte:
sudo yum install cuda
Poznámka:
Pokud se zobrazí chybová zpráva související s chybějícími balíčky, jako je citrix-filesystem, možná budete muset upravit /etc/yum.repos.d/rh-cloud , vyhledejte volitelné rpms a nastavte povolenou hodnotu 1.
Restartujte virtuální počítač a pokračujte ověřením instalace.
Ověření instalace ovladače
Pokud chcete dotazovat stav zařízení GPU, připojte se přes SSH k virtuálnímu počítači a spusťte nástroj příkazového řádku nvidia-smi nainstalovaný s ovladačem.
Pokud je ovladač nainstalovaný, Nvidia SMI vypíše GPU-Util jako 0 %, dokud na virtuálním počítači nespustíte úlohu GPU. Verze ovladače a podrobnosti o GPU se můžou lišit od zobrazených.
Síťové připojení RDMA
Připojení k síti RDMA je možné povolit na virtuálních počítačích řady N-series podporujících RDMA, jako je NC24r nasazená ve stejné skupině dostupnosti nebo v jedné skupině umístění ve škálovací sadě virtuálních počítačů. Síť RDMA podporuje provoz rozhraní MPI (Message Passing Interface) pro aplikace spuštěné s technologií Intel MPI 5.x nebo novější verzí:
Distribuce
Nasaďte virtuální počítače řady N-series s podporou RDMA z jedné z imagí na Azure Marketplace, které podporují připojení RDMA na virtuálních počítačích řady N-series:
Ubuntu 16.04 LTS – Konfigurace ovladačů RDMA na virtuálním počítači a registrace u Intelu ke stažení Intel MPI:
Instalace dapl, rdmacm, ibverbs a mlx4
sudo apt-get update sudo apt-get install libdapl2 libmlx4-1
V souboru /etc/waagent.conf povolte RDMA tak, že odkomentujte následující řádky konfigurace. K úpravám tohoto souboru potřebujete kořenový přístup.
OS.EnableRDMA=y OS.UpdateRdmaDriver=y
Přidejte nebo změňte následující nastavení paměti v znalostní bázi v souboru /etc/security/limits.conf. K úpravám tohoto souboru potřebujete kořenový přístup. Pro účely testování můžete nastavit memlock na neomezenou dobu. Například:
<User or group name> hard memlock unlimited
.<User or group name> hard memlock <memory required for your application in KB> <User or group name> soft memlock <memory required for your application in KB>
Nainstalujte knihovnu Intel MPI. Buď si kupte a stáhněte knihovnu od Společnosti Intel, nebo si stáhněte bezplatnou zkušební verzi.
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgz
Podporují se pouze moduly runtime Intel MPI 5.x.
Postup instalace najdete v průvodci instalací knihovny Intel MPI.
Povolte trasování pro procesy jiného než kořenového ladicího programu (potřebné pro nejnovější verze Intel MPI).
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
Na virtuálním počítači jsou nainstalované ovladače RDMA založené na CentOS 7.4 HPC a Intel MPI 5.1.
HpC se systémem CentOS – CentOS-HPC 7.6 a novější (pro skladové položky, ve kterých se InfiniBand podporuje přes SR-IOV). Tyto image mají předinstalované knihovny Mellanox OFED a MPI.
Poznámka:
Karty CX3-Pro jsou podporovány pouze prostřednictvím verzí LTS Mellanox OFED. Na virtuálních počítačích řady N-series s kartami ConnectX3-Pro použijte LTS Mellanox OFED (4.9-0.1.7.0). Další informace najdete v tématu Ovladače systému Linux.
Některé nejnovější image PROSTŘEDÍ HPC z Azure Marketplace mají také Mellanox OFED 5.1 a novější, které nepodporují karty ConnectX3-Pro. Před použitím na virtuálních počítačích s kartami ConnectX3-Pro zkontrolujte verzi Mellanox OFED v imagi PROSTŘEDÍ HPC.
Následující obrázky jsou nejnovější image CentOS-HPC, které podporují karty ConnectX3-Pro:
- OpenLogic:CentOS-HPC:7.6:7.6.2020062900
- OpenLogic:CentOS-HPC:7_6gen2:7.6.2020062901
- OpenLogic:CentOS-HPC:7.7:7.7.2020062600
- OpenLogic:CentOS-HPC:7_7-gen2:7.7.2020062601
- OpenLogic:CentOS-HPC:8_1:8.1.2020062400
- OpenLogic:CentOS-HPC:8_1-gen2:8.1.2020062401
Instalace ovladačů GRID na virtuální počítače řady NV nebo NVv3
Pokud chcete na virtuální počítače řady NV nebo NVv3-series nainstalovat ovladače NVIDIA GRID, nastavte připojení SSH ke každému virtuálnímu počítači a postupujte podle kroků pro distribuci Linuxu.
Ubuntu
Spusťte příkaz
lspci
. Ověřte, že jsou karty nebo karty NVIDIA M60 viditelné jako zařízení PCI.Nainstalujte aktualizace.
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get install build-essential ubuntu-desktop -y sudo apt-get install linux-azure -y
Zakažte ovladač jádra Nouveau, který není kompatibilní s ovladačem NVIDIA. (Použijte pouze ovladač NVIDIA na virtuálních počítačích NV nebo NVv2.) Pokud chcete ovladač zakázat, vytvořte soubor s
/etc/modprobe.d
názvemnouveau.conf
s následujícím obsahem:blacklist nouveau blacklist lbm-nouveau
Restartujte virtuální počítač a znovu se připojte. Ukončete X server:
sudo systemctl stop lightdm.service
Stáhněte a nainstalujte ovladač GRID:
wget -O NVIDIA-Linux-x86_64-grid.run https://go.microsoft.com/fwlink/?linkid=874272 chmod +x NVIDIA-Linux-x86_64-grid.run sudo ./NVIDIA-Linux-x86_64-grid.run
Když se zobrazí dotaz, jestli chcete spustit nástroj nvidia-xconfig pro aktualizaci konfiguračního souboru X, vyberte Ano.
Po dokončení instalace zkopírujte /etc/nvidia/gridd.conf.template do nového souboru gridd.conf v umístění /etc/nvidia/
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
Přidejte následující položky:
/etc/nvidia/gridd.conf
IgnoreSP=FALSE EnableUI=FALSE
Pokud je k dispozici, odeberte následující
/etc/nvidia/gridd.conf
položky:FeatureType=0
Restartujte virtuální počítač a pokračujte ověřením instalace.
Instalace ovladače GRID na Ubuntu s povoleným zabezpečeným spouštěním
Proces instalace ovladače GRID nenabízí žádné možnosti pro přeskočení sestavení a instalace modulu jádra a výběru jiného zdroje podepsaných modulů jádra, takže po instalaci podepsaných modulů jádra musí být zabezpečené spouštění na virtuálních počítačích s Linuxem zakázané.
CentOS nebo Red Hat Enterprise Linux
Aktualizujte jádro a DKMS (doporučeno). Pokud se rozhodnete neaktualizovat jádro, ujistěte se, že jsou verze
kernel-devel
jádra vhodnédkms
.sudo yum update sudo yum install kernel-devel sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install dkms sudo yum install hyperv-daemons
Zakažte ovladač jádra Nouveau, který není kompatibilní s ovladačem NVIDIA. (Použijte pouze ovladač NVIDIA na virtuálních počítačích NV nebo NV3.) Uděláte to tak, že vytvoříte soubor s
/etc/modprobe.d
názvemnouveau.conf
s následujícím obsahem:blacklist nouveau blacklist lbm-nouveau
Restartujte virtuální počítač, znovu se připojte a nainstalujte nejnovější linuxové integrační služby pro Hyper-V a Azure. Ověřením výsledků lspci zkontrolujte, jestli je lis vyžadován. Pokud jsou všechna zařízení s GPU uvedená podle očekávání, instalace LIS se nevyžaduje.
Tento krok přeskočte, pokud plánujete používat CentOS/RHEL 7.8 (nebo vyšší verze), protože lis už pro tyto verze nevyžaduje.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo reboot
Znovu se připojte k virtuálnímu počítači a spusťte
lspci
příkaz. Ověřte, že jsou karty nebo karty NVIDIA M60 viditelné jako zařízení PCI.Stáhněte a nainstalujte ovladač GRID:
wget -O NVIDIA-Linux-x86_64-grid.run https://go.microsoft.com/fwlink/?linkid=874272 chmod +x NVIDIA-Linux-x86_64-grid.run sudo ./NVIDIA-Linux-x86_64-grid.run
Když se zobrazí dotaz, jestli chcete spustit nástroj nvidia-xconfig pro aktualizaci konfiguračního souboru X, vyberte Ano.
Po dokončení instalace zkopírujte /etc/nvidia/gridd.conf.template do nového souboru gridd.conf v umístění /etc/nvidia/
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
Přidejte dva řádky do
/etc/nvidia/gridd.conf
:IgnoreSP=FALSE EnableUI=FALSE
Odeberte jeden řádek,
/etc/nvidia/gridd.conf
pokud je k dispozici:FeatureType=0
Restartujte virtuální počítač a pokračujte ověřením instalace.
Ověření instalace ovladače
Pokud chcete dotazovat stav zařízení GPU, připojte se přes SSH k virtuálnímu počítači a spusťte nástroj příkazového řádku nvidia-smi nainstalovaný s ovladačem.
Pokud je ovladač nainstalovaný, Nvidia SMI vypíše GPU-Util jako 0 %, dokud na virtuálním počítači nespustíte úlohu GPU. Verze ovladače a podrobnosti o GPU se můžou lišit od zobrazených.
Server X11
Pokud potřebujete server X11 pro vzdálená připojení k virtuálnímu počítači NV nebo NVv2, doporučuje se x11vnc, protože umožňuje hardwarovou akceleraci grafiky. BusID zařízení M60 musí být ručně přidán do konfiguračního souboru X11 (obvykle etc/X11/xorg.conf
). "Device"
Přidejte oddíl podobný následujícímu:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Tesla M60"
BusID "PCI:0@your-BusID:0:0"
EndSection
Dále aktualizujte "Screen"
oddíl tak, aby používal toto zařízení.
Id desetinné čárky najdete spuštěním příkazu
nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'
BusID se může změnit, když se virtuální počítač znovu uvolní nebo restartuje. Proto můžete chtít vytvořit skript pro aktualizaci BusID v konfiguraci X11 při restartování virtuálního počítače. Vytvořte například skript s názvem busidupdate.sh
(nebo jiným názvem, který zvolíte) s obsahem podobným následujícímu:
#!/bin/bash
XCONFIG="/etc/X11/xorg.conf"
OLDBUSID=`awk '/BusID/{gsub(/"/, "", $2); print $2}' ${XCONFIG}`
NEWBUSID=`nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'`
if [[ "${OLDBUSID}" == "${NEWBUSID}" ]] ; then
echo "NVIDIA BUSID not changed - nothing to do"
else
echo "NVIDIA BUSID changed from \"${OLDBUSID}\" to \"${NEWBUSID}\": Updating ${XCONFIG}"
sed -e 's|BusID.*|BusID '\"${NEWBUSID}\"'|' -i ${XCONFIG}
fi
Pak vytvořte položku pro váš aktualizační skript /etc/rc.d/rc3.d
, aby se skript vyvolá jako kořen při spuštění.
Řešení problému
- Režim trvalosti můžete nastavit tak
nvidia-smi
, aby byl výstup příkazu rychlejší, když potřebujete dotazovat karty. Chcete-li nastavit režim trvalosti, spusťtenvidia-smi -pm 1
. Všimněte si, že pokud se virtuální počítač restartuje, nastavení režimu zmizí. Nastavení režimu můžete vždy skriptovat, aby se spustilo při spuštění. - Pokud jste aktualizovali ovladače NVIDIA CUDA na nejnovější verzi a zjistili jste, že připojení RDMA už nefunguje, přeinstalujte ovladače RDMA, aby se připojení znovu nastavily.
- Pokud se při instalaci LIS nepodporuje určitá verze operačního systému CentOS/RHEL (nebo jádra), vyvolá se chyba Nepodporovaná verze jádra. Nahlaste tuto chybu spolu s verzemi operačního systému a jádra.
- Pokud dojde k přerušení úloh chybami ECC na GPU (buď opravitelné nebo neopravitelné), nejprve zkontrolujte, jestli GPU splňuje některá z kritérií RMA společnosti Nvidia pro chyby ECC. Pokud má GPU nárok na službu RMA, obraťte se na podporu o jeho servisu; jinak restartujte virtuální počítač a znovu připojte GPU, jak je popsáno tady. Méně invazní metody, například
nvidia-smi -r
nefungují s virtualizačním řešením nasazeným v Azure.
Další kroky
- Pokud chcete zachytit image virtuálního počítače s Linuxem s nainstalovanými ovladači NVIDIA, podívejte se, jak generalizovat a zachytit virtuální počítač s Linuxem.