Installera GPU-drivrutiner för NVIDIA på virtuella datorer i N-serien som kör Linux
Varning
Den här artikeln refererar till CentOS, en Linux-distribution som har statusen End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.
Gäller för: ✔️ Virtuella Linux-datorer
Om du vill dra nytta av GPU-funktionerna i virtuella Datorer i Azure N-serien som backas upp av NVIDIA GPU:er måste du installera NVIDIA GPU-drivrutiner. NVIDIA GPU Driver Extension installerar lämpliga NVIDIA CUDA- eller GRID-drivrutiner på en virtuell dator i N-serien. Installera eller hantera tillägget med hjälp av Azure Portal eller verktyg som Azure CLI eller Azure Resource Manager-mallar. Se dokumentationen för NVIDIA GPU Driver Extension för distributioner och distributionssteg som stöds.
Om du väljer att installera NVIDIA GPU-drivrutiner manuellt innehåller den här artikeln distributioner, drivrutiner och installations- och verifieringssteg som stöds. Information om manuell drivrutinskonfiguration är också tillgänglig för virtuella Windows-datorer.
Information om virtuella datorer i N-serien, lagringskapaciteter och diskinformation finns i VM-storlekar för GPU Linux.
Distributioner och drivrutiner som stöds
NVIDIA CUDA-drivrutiner
De senaste CUDA-drivrutinerna och operativsystemen som stöds finns på NVIDIA:s webbplats. Se till att du installerar eller uppgraderar till de senaste CUDA-drivrutinerna som stöds för distributionen.
Kommentar
De senaste CUDA-drivrutinerna som stöds för ursprungliga virtuella SKU-datorer i NC-serien är för närvarande 470.82.01. Senare drivrutinsversioner stöds inte på K80-korten i NC.
Kommentar
Virtuella Azure NVads A10 v5-datorer stöder endast GRID 14.1(510.73) eller högre drivrutinsversioner. VGPU-drivrutinen för A10 SKU är en enhetlig drivrutin som stöder både grafik- och beräkningsarbetsbelastningar.
Dricks
Som ett alternativ till manuell CUDA-drivrutinsinstallation på en virtuell Linux-dator kan du distribuera en Azure Datavetenskap Virtual Machine-avbildning. DSVM-utgåvan för Ubuntu 16.04 LTS förinstallerar NVIDIA CUDA-drivrutiner, CUDA Deep Neural Network Library och andra verktyg.
NVIDIA GRID-drivrutiner
Microsoft omdistribuerar NVIDIA GRID-drivrutinsinstallationer för virtuella DATORER i NV- och NVv3-serien som används som virtuella arbetsstationer eller för virtuella program. Installera endast dessa GRID-drivrutiner på virtuella Azure NV-datorer, endast på de operativsystem som anges i följande tabell. Dessa drivrutiner omfattar licensiering för GRID Virtual GPU Software i Azure. Du behöver inte konfigurera en NVIDIA vGPU-programvarulicensserver.
GRID-drivrutinerna som distribueras om av Azure fungerar inte på de flesta virtuella datorer som inte är NV-serier som NC, NCv2, NCv3, ND och NDv2-serien, men fungerar på NCasT4v3-serien.
Mer information om specifika vGPU- och drivrutinsgrensversioner finns på NVIDIA:s webbplats.
Distribution | Drivrutinen |
---|---|
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 17.3, drivrutinsgrenen R550 NVIDIA vGPU 16.5, drivrutinsgrenen R535 |
Kommentar
För virtuella Azure NVads A10 v5-datorer rekommenderar vi att kunderna alltid använder den senaste drivrutinsversionen. Den senaste NVIDIA-huvuddrivrutinsgrenen(n) är bara bakåtkompatibel med den tidigare större grenen (n-1). För t.ex. är vGPU 17.x bakåtkompatibel med endast vGPU 16.x. Alla virtuella datorer som fortfarande körnig n-2 eller lägre kan se drivrutinsfel när den senaste enhetsgrenen distribueras till Azure-värdar.
NVs_v3 virtuella datorer stöder endast vGPU 16 eller lägre drivrutinsversion.
Besök GitHub för en fullständig lista över alla tidigare Nvidia GRID-drivrutinslänkar.
Varning
Installation av tredjepartsprogramvara på Red Hat-produkter kan påverka supportvillkoren för Red Hat. Läs Knowledgebase-artikeln om Red Hat.
Installera CUDA-drivrutiner på virtuella datorer i N-serien
Här följer steg för att installera CUDA-drivrutiner från NVIDIA CUDA Toolkit på virtuella datorer i N-serien.
C- och C++-utvecklare kan också installera hela Toolkit för att skapa GPU-accelererade program. Mer information finns i installationsguiden för CUDA.
Om du vill installera CUDA-drivrutiner skapar du en SSH-anslutning till varje virtuell dator. Kontrollera att systemet har en CUDA-kompatibel GPU genom att köra följande kommando:
lspci | grep -i NVIDIA
Utdata liknar följande exempel (visar ett NVIDIA Tesla K80-kort):
lspci listar PCIe-enheterna på den virtuella datorn, inklusive eventuella InfiniBand-nätverkskort och GPU:er. Om lspci inte returnerar korrekt kan du behöva installera LIS på CentOS/RHEL.
Kör sedan installationskommandon som är specifika för distributionen.
Ubuntu
Ubuntu paketerar NVIDIA-proprietära drivrutiner. Dessa drivrutiner kommer direkt från NVIDIA och paketeras helt enkelt av Ubuntu så att de kan hanteras automatiskt av systemet. Nedladdning och installation av drivrutiner från en annan källa kan leda till ett trasigt system. För att installera drivrutiner från tredje part krävs dessutom extra steg på virtuella datorer med TrustedLaunch och Säker start aktiverat. De kräver att användaren lägger till en ny datorägarnyckel för att systemet ska kunna startas. Drivrutiner från Ubuntu signeras av Canonical och fungerar med Säker start.
Installationsverktyget
ubuntu-drivers
:sudo apt update && sudo apt install -y ubuntu-drivers-common
Installera de senaste NVIDIA-drivrutinerna:
sudo ubuntu-drivers install
Starta om den virtuella datorn när GPU-drivrutinen har installerats.
Ladda ned och installera CUDA-verktygslådan från NVIDIA:
Kommentar
Exemplet visar CUDA-paketsökvägen för Ubuntu 24.04 LTS. Ersätt sökvägen som är specifik för den version som du planerar att använda.
Besök NVIDIA Download Center eller SIDAN NVIDIA CUDA-resurser för den fullständiga sökvägen som är specifik för varje version.
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
Installationen kan ta flera minuter.
Starta om den virtuella datorn när installationen är klar:
sudo reboot
Kontrollera att GPU:n är korrekt identifierad (efter omstart):
nvidia-smi
NVIDIA-drivrutinsuppdateringar
Vi rekommenderar att du regelbundet uppdaterar NVIDIA-drivrutiner efter distributionen.
sudo apt update
sudo apt full-upgrade
CentOS eller Red Hat Enterprise Linux
Uppdatera kerneln (rekommenderas). Om du väljer att inte uppdatera kerneln kontrollerar du att versionerna av
kernel-devel
ochdkms
är lämpliga för din kernel.sudo yum install kernel kernel-tools kernel-headers kernel-devel sudo reboot
Installera de senaste Linux-integreringstjänsterna för Hyper-V och Azure. Kontrollera om LIS krävs genom att verifiera resultatet av lspci. Om alla GPU-enheter visas som förväntat krävs inte installation av LIS.
LIS gäller för Red Hat Enterprise Linux, CentOS och Oracle Linux Red Hat Compatible Kernel 5.2-5.11, 6.0-6.10 och 7.0-7.7. Mer information finns i Dokumentationen om Linux Integration Services. Hoppa över det här steget om du planerar att använda CentOS/RHEL 7.8 (eller högre versioner) eftersom LIS inte längre krävs för dessa versioner.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo reboot
Återanslut till den virtuella datorn och fortsätt installationen med följande kommandon:
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
Installationen kan ta flera minuter.
Kommentar
Besök Fedora - och Nvidia CUDA-lagringsplatsen för att välja rätt paket för den CentOS- eller RHEL-version som du vill använda.
CentOS 8 och RHEL 8 behöver till exempel följande steg.
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
Om du vill installera den fullständiga CUDA-verktygslådan skriver du:
sudo yum install cuda
Kommentar
Om du ser ett felmeddelande som rör saknade paket som vulkan-filesystem kan du behöva redigera /etc/yum.repos.d/rh-cloud, leta efter valfria rpm och ange aktiverad till 1
Starta om den virtuella datorn och kontrollera installationen.
Verifiera drivrutinsinstallation
Om du vill köra frågor mot GPU-enhetstillståndet kör du SSH till den virtuella datorn och kör kommandoradsverktyget nvidia-smi installerat med drivrutinen.
Om drivrutinen är installerad visar Nvidia SMI GPU-Util som 0 % tills du kör en GPU-arbetsbelastning på den virtuella datorn. Din drivrutinsversion och GPU-information kan skilja sig från de som visas.
RDMA-nätverksanslutning
RDMA-nätverksanslutning kan aktiveras på RDMA-kompatibla virtuella datorer i N-serien, till exempel NC24r som distribuerats i samma tillgänglighetsuppsättning eller i en enda placeringsgrupp i en VM-skalningsuppsättning(VM). RDMA-nätverket stöder MPI-trafik (Message Passing Interface) för program som körs med Intel MPI 5.x eller en senare version:
Distributioner
Distribuera rdma-kompatibla virtuella datorer i N-serien från en av avbildningarna på Azure Marketplace som stöder RDMA-anslutning på virtuella datorer i N-serien:
Ubuntu 16.04 LTS – Konfigurera RDMA-drivrutiner på den virtuella datorn och registrera med Intel för att ladda ned Intel MPI:
Installera dapl, rdmacm, ibverbs och mlx4
sudo apt-get update sudo apt-get install libdapl2 libmlx4-1
I /etc/waagent.conf aktiverar du RDMA genom att avkommentera följande konfigurationsrader. Du behöver rotåtkomst för att redigera den här filen.
OS.EnableRDMA=y OS.UpdateRdmaDriver=y
Lägg till eller ändra följande minnesinställningar i KB i filen /etc/security/limits.conf. Du behöver rotåtkomst för att redigera den här filen. I testsyfte kan du ange memlock till obegränsat. Exempel:
<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>
Installera Intel MPI-biblioteket. Köp och ladda ned biblioteket från Intel eller ladda ned den kostnadsfria utvärderingsversionen.
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgz
Endast Intel MPI 5.x-körning stöds.
Installationssteg finns i installationsguiden för Intel MPI-bibliotek.
Aktivera ptrace för icke-rotbaserade icke-felsökningsprocesser (behövs för de senaste versionerna av Intel MPI).
echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
CentOS-baserade 7.4 HPC – RDMA-drivrutiner och Intel MPI 5.1 är installerade på den virtuella datorn.
CentOS-baserad HPC – CentOS-HPC 7.6 och senare (för SKU:er där InfiniBand stöds via SR-IOV). Dessa avbildningar har Förinstallerade Mellanox OFED- och MPI-bibliotek.
Kommentar
CX3-Pro-kort stöds endast via LTS-versioner av Mellanox OFED. Använd LTS Mellanox OFED-versionen (4.9-0.1.7.0) på de virtuella datorerna i N-serien med ConnectX3-Pro-kort. Mer information finns i Linux-drivrutiner.
Dessutom har några av de senaste Azure Marketplace HPC-avbildningarna Mellanox OFED 5.1 och senare, som inte stöder ConnectX3-Pro-kort. Kontrollera Mellanox OFED-versionen i HPC-avbildningen innan du använder den på virtuella datorer med ConnectX3-Pro-kort.
Följande bilder är de senaste CentOS-HPC-bilderna som stöder ConnectX3-Pro-kort:
- 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
Installera GRID-drivrutiner på virtuella datorer i NV- eller NVv3-serien
Om du vill installera NVIDIA GRID-drivrutiner på virtuella DATORER i NV- eller NVv3-serien skapar du en SSH-anslutning till varje virtuell dator och följer stegen för din Linux-distribution.
Ubuntu
Kör kommandot
lspci
. Kontrollera att NVIDIA M60-kortet eller korten visas som PCI-enheter.Installera uppdateringar.
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
Inaktivera Nouveau-kerneldrivrutinen, som inte är kompatibel med NVIDIA-drivrutinen. (Använd endast NVIDIA-drivrutinen på virtuella NV- eller NVv2-datorer.) Om du vill inaktivera drivrutinen skapar du en fil med
/etc/modprobe.d
namnetnouveau.conf
med följande innehåll:blacklist nouveau blacklist lbm-nouveau
Starta om den virtuella datorn och återanslut. Avsluta X-servern:
sudo systemctl stop lightdm.service
Ladda ned och installera GRID-drivrutinen:
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
När du tillfrågas om du vill köra verktyget nvidia-xconfig för att uppdatera X-konfigurationsfilen väljer du Ja.
När installationen är klar kopierar du /etc/nvidia/gridd.conf.template till en ny fil gridd.conf på plats /etc/nvidia/
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
Lägg till följande i
/etc/nvidia/gridd.conf
:IgnoreSP=FALSE EnableUI=FALSE
Ta bort följande från
/etc/nvidia/gridd.conf
om det finns:FeatureType=0
Starta om den virtuella datorn och kontrollera installationen.
Installera GRID-drivrutin på Ubuntu med säker start aktiverat
Installationsprocessen för GRID-drivrutinen erbjuder inga alternativ för att hoppa över bygget och installationen av kernelmoduler och väljer en annan källa för signerade kernelmoduler, så säker start måste inaktiveras på virtuella Linux-datorer för att kunna använda dem med GRID, efter att signerade kernelmoduler har installerats.
CentOS eller Red Hat Enterprise Linux
Uppdatera kerneln och DKMS (rekommenderas). Om du väljer att inte uppdatera kerneln kontrollerar du att versionerna av
kernel-devel
ochdkms
är lämpliga för din kernel.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
Inaktivera Nouveau-kerneldrivrutinen, som inte är kompatibel med NVIDIA-drivrutinen. (Använd endast NVIDIA-drivrutinen på virtuella NV- eller NV3-datorer.) Det gör du genom att skapa en fil med
/etc/modprobe.d
namnetnouveau.conf
med följande innehåll:blacklist nouveau blacklist lbm-nouveau
Starta om den virtuella datorn, återanslut och installera de senaste Linux Integration Services för Hyper-V och Azure. Kontrollera om LIS krävs genom att verifiera resultatet av lspci. Om alla GPU-enheter visas som förväntat krävs inte installation av LIS.
Hoppa över det här steget om du planerar att använda CentOS/RHEL 7.8 (eller högre versioner) eftersom LIS inte längre krävs för dessa versioner.
wget https://aka.ms/lis tar xvzf lis cd LISISO sudo ./install.sh sudo reboot
Återanslut till den virtuella datorn och kör
lspci
kommandot. Kontrollera att NVIDIA M60-kortet eller korten visas som PCI-enheter.Ladda ned och installera GRID-drivrutinen:
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
När du tillfrågas om du vill köra verktyget nvidia-xconfig för att uppdatera X-konfigurationsfilen väljer du Ja.
När installationen är klar kopierar du /etc/nvidia/gridd.conf.template till en ny fil gridd.conf på plats /etc/nvidia/
sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
Lägg till två rader i
/etc/nvidia/gridd.conf
:IgnoreSP=FALSE EnableUI=FALSE
Ta bort en rad från
/etc/nvidia/gridd.conf
om den finns:FeatureType=0
Starta om den virtuella datorn och kontrollera installationen.
Verifiera drivrutinsinstallation
Om du vill köra frågor mot GPU-enhetstillståndet kör du SSH till den virtuella datorn och kör kommandoradsverktyget nvidia-smi installerat med drivrutinen.
Om drivrutinen är installerad visar Nvidia SMI GPU-Util som 0 % tills du kör en GPU-arbetsbelastning på den virtuella datorn. Din drivrutinsversion och GPU-information kan skilja sig från de som visas.
X11-server
Om du behöver en X11-server för fjärranslutningar till en virtuell NV- eller NVv2-dator rekommenderas x11vnc eftersom den tillåter maskinvaruacceleration av grafik. BusID för M60-enheten måste läggas till manuellt i X11-konfigurationsfilen (vanligtvis etc/X11/xorg.conf
). Lägg till ett "Device"
avsnitt som liknar följande:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Tesla M60"
BusID "PCI:0@your-BusID:0:0"
EndSection
Dessutom uppdaterar du avsnittet "Screen"
så att det använder den här enheten.
Det decimala BusID:et kan hittas genom att köra
nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'
BusID kan ändras när en virtuell dator omallokeras eller startas om. Därför kanske du vill skapa ett skript för att uppdatera BusID i X11-konfigurationen när en virtuell dator startas om. Skapa till exempel ett skript med namnet busidupdate.sh
(eller ett annat namn du väljer) med innehåll som liknar följande:
#!/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
Skapa sedan en post för uppdateringsskriptet i /etc/rc.d/rc3.d
så att skriptet anropas som rot vid start.
Felsökning
- Du kan ange beständighetsläge med så
nvidia-smi
att kommandots utdata blir snabbare när du behöver fråga efter kort. Om du vill ange beständighetsläge kör dunvidia-smi -pm 1
. Observera att om den virtuella datorn startas om försvinner lägesinställningen. Du kan alltid skripta lägesinställningen som ska köras vid start. - Om du har uppdaterat NVIDIA CUDA-drivrutinerna till den senaste versionen och upptäcker att RDMA-anslutningen inte längre fungerar installerar du om RDMA-drivrutinerna för att återupprätta anslutningen.
- Om en viss CentOS/RHEL OS-version (eller kernel) inte stöds för LIS under installationen av LIS utlöses felet "Kernelversion som inte stöds". Rapportera det här felet tillsammans med operativsystemet och kernelversionerna.
- Om jobb avbryts av ECC-fel på GPU:n (antingen rättbara eller okorrigerbara) kontrollerar du först om GPU:n uppfyller något av Nvidias RMA-kriterier för ECC-fel. Om GPU:n är berättigad till RMA kontaktar du supporten för att få den betjänad. Annars startar du om den virtuella datorn för att koppla om GPU:n enligt beskrivningen här. Mindre invasiva metoder som
nvidia-smi -r
att inte arbeta med virtualiseringslösningen som distribueras i Azure.
Nästa steg
- Information om hur du avbildar en virtuell Linux-dator med dina installerade NVIDIA-drivrutiner finns i Så här generaliserar och avbildar du en virtuell Linux-dator.