Installieren von NVIDIA GPU-Treibern für virtuelle Computer der Serie N mit Linux

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem End-of-Life-Status (EOL) nähert. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS-Leitfaden für das Lebensende.

Gilt für: ✔️ Linux-VMs

Wenn Sie die GPU-Funktionen von Azure-VMs der N-Serie nutzen möchten, die von NVIDIA-GPUs unterstützt werden, müssen Sie NVIDIA GPU-Treiber installieren. Mit der NVIDIA-GPU-Treibererweiterung werden entsprechende NVIDIA-CUDA- oder GRID-Treiber auf einem virtuellen Computer der N-Serie installiert. Installieren oder verwalten Sie die Erweiterung mithilfe des Azure-Portals oder mit Tools wie der Azure-Befehlszeilenschnittstelle oder Azure Resource Manager-Vorlagen. Informationen zu unterstützten Distributionen und Bereitstellungsschritten finden Sie in der Dokumentation zur NVIDIA-GPU-Treibererweiterung.

Wenn Sie NVIDIA-GPU-Treiber manuell installieren möchten, finden Sie in diesem Artikel Informationen zu unterstützten Distributionen und Treibern sowie Schritte zur Installation und Überprüfung. Informationen zur manuellen Einrichtung von Treibern stehen auch für Windows-VMs zur Verfügung.

Informationen zu Spezifikationen von virtuellen Computern der N-Serie, Speicherkapazitäten und Details zu den Datenträgern finden Sie unter GPU-optimierte Größen von virtuellen Linux-Computern.

Unterstützte Verteilungen und Treiber

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem End-of-Life-Status (EOL) nähert. Sie sollten Ihre Nutzung entsprechend planen.

NVIDIA CUDA-Treiber

Informationen zu den neuesten CUDA-Treibern und unterstützten Betriebssystemen finden Sie auf der NVIDIA-Website. Stellen Sie sicher, dass Sie eine Installation der bzw. ein Upgrade auf die neuesten unterstützten CUDA-Treiber für Ihre Distribution ausgeführt haben.

Hinweis

Die neueste unterstützte CUDA-Treiberversion für VMs mit SKUs der ursprünglichen NC-Serie ist derzeit 470.82.01. Neuere Treiberversionen werden auf den K80-Karten in NC nicht unterstützt.

Hinweis

Die Azure NVads A10 v5-VMs unterstützen nur GRID 14.1(510.73) oder höhere Treiberversionen. Bei dem vGPU-Treiber für die A10-SKU handelt es sich um einen einheitlichen Treiber, der sowohl Grafik- als auch Computeworkloads unterstützt.

Tipp

Alternativ zur manuellen CUDA-Treiberinstallation auf einem virtuellen Linux-Computer können Sie ein Azure Data Science Virtual Machine-Image bereitstellen. Bei den DSVM-Editionen für Ubuntu 16.04 LTS oder CentOS 7.4 sind NVIDIA CUDA-Treiber, die CUDA Deep Neural Network-Bibliothek und weitere Tools vorinstalliert.

NVIDIA GRID-Treiber

Microsoft vertreibt Installationsprogramme für NVIDIA GRID-Treiber für virtuelle Computer der NV- und NVv3-Serie, die als virtuelle Arbeitsstationen oder für virtuelle Anwendungen verwendet werden. Installieren Sie nur diese GRID-Treiber auf Azure NV-VMs, und zwar nur unter den in der folgenden Tabelle aufgeführten Betriebssystemen. In diesen Treibern ist die Lizenzierung für virtuelle GRID-GPU-Software in Azure enthalten. Sie müssen keinen NVIDIA-vGPU-Softwarelizenzserver einrichten.

Die von Azure neu verteilten GRID-Treiber funktionieren nicht auf den meisten Nicht-NV-Serien-VMs wie NC, NCv2, NCv3, ND sowie NDv2-Serien-VMs, aber auf NCasT4v3-Serien-VMs.

Weitere Informationen zu den spezifischen vGPU- und Treiberbranchversionen finden Sie auf der NVIDIA-Website.

Distribution Treiber
Ubuntu 20.04 LTS, 22.04 LTS

Red Hat Enterprise Linux 7.9, 8.6, 8.8

SUSE Linux Enterprise Server 15 SP2, 12 SP2,12 SP5

Rocky Linux 8.4
NVIDIA vGPU 16.3, Treiberbranch R535(.exe)

NVIDIA vGPU 16.2, Treiberbranch R535(.exe)

Hinweis

Für Azure NVads A10 v5-VMs empfehlen wir Kunden, immer auf der neuesten Treiberversion zu sein. Die neueste NVIDIA-Haupttreiberverzweigung ist nur abwärtskompatibel mit der vorherigen Hauptverzweigung(n-1). Beispielsweise ist vGPU 17.x abwärtskompatibel mit vGPU 16.x. Alle VMs, auf denen noch n-2 oder niedriger ausgeführt wird, können Treiberfehler erleben, wenn die neueste Laufwerkverzweigung für Azure-Hosts bereitgestellt wird.

Nvs_v3 VMs unterstützen nur vGPU 16 oder niedrigere Treiberversionen.

Eine vollständige Liste aller vorherigen NVIDIA GRID-Treiber finden Sie auf GitHub.

Warnung

Die Installation von Drittanbietersoftware auf Red Hat-Produkten kann Auswirkungen auf die Red Hat-Supportbedingungen haben. Weitere Informationen hierzu finden Sie im Red Hat-Knowledgebase-Artikel.

Installieren von CUDA-Treibern für virtuelle Computer der N-Serie

Hier werden Schritte zum Installieren von CUDA-Treibern auf virtuellen Computern der N-Serie über das NVIDIA CUDA Toolkit beschrieben.

C- und C++-Entwickler können optional das vollständige Toolkit zum Erstellen GPU-beschleunigter Anwendungen installieren. Weitere Informationen finden Sie im CUDA-Installationshandbuch.

Stellen Sie zum Installieren von CUDA-Treibern eine SSH-Verbindung mit den einzelnen virtuellen Computern her. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass das System über eine CUDA-fähige GPU verfügt:

lspci | grep -i NVIDIA

Die Ausgabe entspricht etwa folgendem Beispiel (zeigt eine NVIDIA Tesla K80-Karte):

lspci-Befehlsausgabe

Mit lspci werden die PCIe-Geräte auf der VM aufgelistet, einschließlich der InfiniBand-NIC und der GPUs, falls vorhanden. Wenn lspci nicht erfolgreich zurückgegeben wird, müssen Sie möglicherweise LIS unter CentOS/RHEL installieren.

Führen Sie dann die für Ihre Verteilung spezifischen Installationsbefehle aus.

Ubuntu

Ubuntu-Pakete schließen proprietäre NVIDIA-Treiber ein. Diese Treiber stammen direkt von NVIDIA und werden einfach von Ubuntu verpackt, sodass sie automatisch vom System verwaltet werden können. Das Herunterladen und Installieren von Treibern aus einer anderen Quelle kann zu einem fehlerhaften System führen. Darüber hinaus erfordert die Installation von Treibern von Drittanbietern zusätzliche Schritte auf VMs mit den aktivierten Optionen „TrustedLaunch“ und „Sicherer Start“. Benutzer*innen müssen dabei einen neuen Computerbesitzerschlüssel (Machine Owner Key) hinzufügen, damit das System gestartet werden kann. Treiber von Ubuntu werden von Canonical signiert und funktionieren mit sicherem Start.

  1. Installieren des Hilfsprogramms ubuntu-drivers:

    sudo apt update && sudo apt install -y ubuntu-drivers-common
    
  2. Installieren der neuesten NVIDIA-Treiber:

    sudo ubuntu-drivers install
    
  3. Herunterladen und Installieren des CUDA-Toolkits von NVIDIA:

    Hinweis

    Im Beispiel wird der CUDA-Paketpfad für Ubuntu 22.04 LTS gezeigt. Ersetzen Sie den Pfad durch den spezifischen Pfad für die Version, die Sie verwenden möchten.

    Den vollständigen Pfad, der für jede Version spezifisch ist, finden Sie im NVIDIA Download Center oder auf der NVIDIA CUDA-Ressourcenseite.

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/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-3
    

    Die Installation kann einige Minuten dauern.

  4. Vergewissern Sie sich, dass die GPU korrekt erkannt wird (möglicherweise müssen Sie Ihre VM neu starten, damit die Systemänderungen wirksam werden):

    nvidia-smi
    

NVIDIA-Treiberupdates

Sie sollten NVIDIA-Treiber nach der Bereitstellung in regelmäßigen Abständen aktualisieren.

sudo apt update
sudo apt full-upgrade

CentOS oder Red Hat Enterprise Linux

  1. Aktualisieren Sie den Kernel (empfohlen). Wenn Sie den Kernel nicht aktualisieren, stellen Sie sicher, dass die Versionen von kernel-devel und dkms für Ihren Kernel geeignet sind.

    sudo yum install kernel kernel-tools kernel-headers kernel-devel
    sudo reboot
    
  2. Installieren Sie die aktuelle Version der Linux Integration Services für Hyper-V und Azure. Überprüfen Sie, ob LIS erforderlich ist, indem Sie die Ergebnisse von lspci überprüfen. Wenn alle GPU-Geräte erwartungsgemäß aufgeführt sind, ist die Installation von LIS nicht erforderlich.

    LIS ist auf Red Hat Enterprise Linux, CentOS und den Oracle Linux Red Hat-kompatiblen Kernel 5.2–5.11, 6.0–6.10 und 7.0–7.7 anwendbar. Weitere Informationen finden Sie in der Dokumentation zu Linux Integration Services. Sie können diesen Schritt überspringen, wenn Sie CentOS/RHEL 7.8 (oder höhere Versionen) verwenden möchten, da LIS für diese Versionen nicht mehr benötigt wird.

    wget https://aka.ms/lis
    tar xvzf lis
    cd LISISO
    
    sudo ./install.sh
    sudo reboot
    
  3. Stellen Sie die Verbindung mit dem virtuellen Computer wieder her, und setzen Sie die Installation mit den folgenden Befehlen fort:

    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
    

    Die Installation kann einige Minuten dauern.

    Hinweis

    Besuchen Sie das Fedora- und Nvidia-CUDA-Repository, um das richtige Paket für die gewünschte CentOS- oder RHEL-Version zu wählen.

CentOS 8 und RHEL 8 benötigen beispielsweise die folgenden Schritte.

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
  1. Um das vollständige CUDA-Toolkit optional zu installieren, geben Sie Folgendes ein:

    sudo yum install cuda
    

    Hinweis

    Wenn eine Fehlermeldung zu fehlenden Paketen wie z. B. „vulkan-filesystem“ angezeigt wird, müssen Sie möglicherweise „/etc/yum.repos.d/rh-cloud“ bearbeiten. Suchen Sie dort nach „optional-rpms“, und legen Sie „enabled“ auf „1“ fest.

  2. Starten Sie die VM neu, und fahren Sie mit der Überprüfung der Installation fort.

Überprüfen der Treiberinstallation

Stellen Sie zum Abfragen des GPU-Gerätestatus eine SSH-Verbindung mit der VM her, und führen Sie das mit dem Treiber installierte Befehlszeilen-Hilfsprogramm nvidia-smi aus.

Wenn der Treiber installiert ist, listet Nvidia SMI GPU-Util mit 0 % auf, bis Sie eine GPU-Workload auf dem virtuellen Computer ausführen. Die Treiberversion und die GPU-Informationen weichen möglicherweise von den angezeigten Informationen ab.

NVIDIA-Gerätestatus

RDMA-Netzwerkkonnektivität

RDMA-Netzwerkkonnektivität kann auf virtuellen Computern der N-Serie (etwa NC24r) aktiviert werden, wenn diese RDMA-fähig sind und in derselben Verfügbarkeitsgruppe oder in einer einzelnen Platzierungsgruppe in einer VM-Skalierungsgruppe bereitgestellt werden. Das RDMA-Netzwerk unterstützt Message Passing Interface-Datenverkehr (MPI) für Anwendungen mit Intel MPI 5.x oder einer höheren Version:

Verteilungen

Stellen Sie RDMA-fähige VMs der N-Serie über eines der Images aus dem Azure Marketplace bereit, das RDMA-Konnektivität für VMs der N-Serie unterstützt:

  • Ubuntu 16.04 LTS: Konfigurieren Sie RDMA-Treiber auf der VM, und registrieren Sie sich bei Intel, um Intel MPI herunterzuladen:

    1. Installieren von dapl, rdmacm, ibverbs und mlx4

      sudo apt-get update
      
      sudo apt-get install libdapl2 libmlx4-1
      
      
    2. Aktivieren Sie RDMA in „/etc/waagent.conf“, indem Sie die folgenden Konfigurationszeilen auskommentieren. Sie benötigen Root-Zugriff zum Bearbeiten dieser Datei.

      OS.EnableRDMA=y
      
      OS.UpdateRdmaDriver=y
      
    3. Fügen Sie die folgenden Speichereinstellungen in der Datei „/etc/security/limits.conf“ in KB hinzu, oder ändern Sie sie. Sie benötigen Root-Zugriff zum Bearbeiten dieser Datei. Zu Testzwecken können Sie „memlock“ auf unbegrenzt festlegen. Beispiel: <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>
      
    4. Installieren Sie die Intel MPI-Bibliothek. Sie können die Bibliothek von Intel erwerben und herunterladen oder die kostenlose Evaluierungsversion herunterladen.

      wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgz
      

      Es werden nur Intel MPI 5.x-Runtimes unterstützt.

      Die Installationsschritte finden Sie im Installationshandbuch für die Intel MPI-Bibliothek.

    5. Aktivieren Sie ptrace für Nicht-Root-Nicht-Debugger-Prozesse (erforderlich für die aktuelle Version von Intel MPI).

      echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
      
  • 7.4 HPC (CentOS-basiert) : Auf der VM sind RDMA-Treiber und Intel MPI 5.1 installiert.

  • HPC (CentOS-basiert) : CentOS-HPC 7.6 und höher (für SKUs, bei denen InfiniBand über SR-IOV unterstützt wird). Für diese Images sind die Mellanox OFED- und MPI-Bibliotheken vorinstalliert.

Hinweis

CX3-Pro-Karten werden nur über LTS-Versionen von Mellanox OFED unterstützt. Verwenden Sie die LTS Mellanox OFED-Version (4.9-0.1.7.0) auf den VMs der N-Serie mit ConnectX3-Pro-Karten. Weitere Informationen finden Sie unter Linux-Treiber.

Außerdem verfügen einige der neuesten Azure Marketplace HPC-Images über Mellanox OFED 5.1 und höher, die ConnectX3-Pro-Karten nicht unterstützen. Überprüfen Sie die Mellanox OFED-Version im HPC-Image, bevor Sie sie auf VMs mit ConnectX3-Pro-Karten verwenden.

Die folgenden Images sind die neuesten CentOS-HPC-Images, die ConnectX3-Pro-Karten unterstützen:

  • 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

Installieren von GRID-Treibern auf virtuellen Computern der NV- oder NVv3-Serie

Stellen Sie zum Installieren von NVIDIA GRID-Treibern auf virtuellen Computern der NV- oder NVv3-Serie eine SSH-Verbindung mit jedem virtuellen Computer her, und führen Sie die Schritte für Ihre Linux-Distribution aus.

Ubuntu

  1. Führen Sie den Befehl lspci aus. Überprüfen Sie, ob die NVIDIA M60-Karte bzw. -Karten als PCI-Geräte angezeigt werden.

  2. Installieren Sie die Updates.

    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
    
  3. Deaktivieren Sie den Nouveau-Kerneltreiber, da er nicht mit dem NVIDIA-Treiber kompatibel ist. (Verwenden Sie den NVIDIA-Treiber nur auf virtuellen NV- oder NVv2-Computern.) Um den Treiber zu deaktivieren, erstellen Sie eine Datei in /etc/modprobe.d mit Namen nouveau.conf mit folgenden Inhalten:

    blacklist nouveau
    blacklist lbm-nouveau
    
  4. Starten Sie den virtuellen Computer neu, und stellen Sie erneut eine Verbindung her. Exit X-Server:

    sudo systemctl stop lightdm.service
    
  5. Laden Sie den GRID-Treiber herunter, und installieren Sie ihn:

    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
    
  6. Wenn Sie gefragt werden, ob Sie mit dem Hilfsprogramm „nvidia-xconfig“ Ihre X-Konfigurationsdatei aktualisieren möchten, klicken Sie auf Ja.

  7. Nachdem die Installation abgeschlossen ist, kopieren Sie „/etc/nvidia/gridd.conf.template“ in eine neue Datei „gridd.conf at location /etc/nvidia/“.

    sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
    
  8. Fügen Sie Folgendes zu /etc/nvidia/gridd.conf hinzu:

    IgnoreSP=FALSE
    EnableUI=FALSE
    
  9. Entfernen Sie Folgendes aus /etc/nvidia/gridd.conf (sofern vorhanden):

    FeatureType=0
    
  10. Starten Sie die VM neu, und fahren Sie mit der Überprüfung der Installation fort.

Installieren des GRID-Treibers unter Ubuntu mit aktiviertem sicherem Start

Der GRID-Treiber-Installationsprozess bietet keine Optionen, um die Erstellung und Installation von Kernelmodulen zu überspringen und eine andere Quelle für signierte Kernelmodule auszuwählen. Daher muss der sichere Start in Linux-VMs deaktiviert werden, um sie nach der Installation von signierten Kernelmodulen mit GRID verwenden zu können.

CentOS oder Red Hat Enterprise Linux

  1. Aktualisieren Sie den Kernel und DKMS (empfohlen). Wenn Sie den Kernel nicht aktualisieren, stellen sicher, dass die Versionen von kernel-devel und dkms für Ihren Kernel geeignet sind.

    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
    
  2. Deaktivieren Sie den Nouveau-Kerneltreiber, da er nicht mit dem NVIDIA-Treiber kompatibel ist. (Verwenden Sie den NVIDIA-Treiber nur auf virtuellen NV- oder NV3-Computern.) Erstellen Sie zu diesem Zweck eine Datei in /etc/modprobe.d, und nennen Sie sie nouveau.conf. Die Datei muss den folgenden Inhalt enthalten:

    blacklist nouveau
    blacklist lbm-nouveau
    
  3. Starten Sie den virtuellen Computer neu, und installieren Sie die aktuellsten Linux-Integrationsdienste für Hyper-V und Azure. Überprüfen Sie, ob LIS erforderlich ist, indem Sie die Ergebnisse von lspci überprüfen. Wenn alle GPU-Geräte erwartungsgemäß aufgeführt sind, ist die Installation von LIS nicht erforderlich.

    Sie können diesen Schritt überspringen, wenn Sie CentOS/RHEL 7.8 (oder höhere Versionen) verwenden möchten, da LIS für diese Versionen nicht mehr benötigt wird.

    wget https://aka.ms/lis
    tar xvzf lis
    cd LISISO
    
    sudo ./install.sh
    sudo reboot
    
    
  4. Stellen Sie erneut eine Verbindung zum virtuellen Computer her, und führen Sie den Befehl lspci aus. Überprüfen Sie, ob die NVIDIA M60-Karte bzw. -Karten als PCI-Geräte angezeigt werden.

  5. Laden Sie den GRID-Treiber herunter, und installieren Sie ihn:

    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
    
  6. Wenn Sie gefragt werden, ob Sie mit dem Hilfsprogramm „nvidia-xconfig“ Ihre X-Konfigurationsdatei aktualisieren möchten, klicken Sie auf Ja.

  7. Nachdem die Installation abgeschlossen ist, kopieren Sie „/etc/nvidia/gridd.conf.template“ in eine neue Datei „gridd.conf at location /etc/nvidia/“.

    sudo cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf
    
  8. Fügen Sie /etc/nvidia/gridd.conf zwei Zeilen hinzu:

    IgnoreSP=FALSE
    EnableUI=FALSE
    
  9. Entfernen Sie eine Zeile aus /etc/nvidia/gridd.conf, sofern vorhanden:

    FeatureType=0
    
  10. Starten Sie die VM neu, und fahren Sie mit der Überprüfung der Installation fort.

Überprüfen der Treiberinstallation

Stellen Sie zum Abfragen des GPU-Gerätestatus eine SSH-Verbindung mit der VM her, und führen Sie das mit dem Treiber installierte Befehlszeilen-Hilfsprogramm nvidia-smi aus.

Wenn der Treiber installiert ist, listet Nvidia SMI GPU-Util mit 0 % auf, bis Sie eine GPU-Workload auf dem virtuellen Computer ausführen. Die Treiberversion und die GPU-Informationen weichen möglicherweise von den angezeigten Informationen ab.

Screenshot: Ausgabe, wenn der GPU-Gerätestatus abgefragt wird

X11-Server

Wenn Sie einen X11-Server für Remoteverbindungen mit einem virtuellen NV- oder NVv2-Computer benötigen, wird x11vnc empfohlen, da damit die Grafikhardwarebeschleunigung ermöglicht wird. Die BusID des M60-Geräts muss der X11-Konfigurationsdatei (normalerweise etc/X11/xorg.conf) manuell hinzugefügt werden. Fügen Sie einen "Device"-Abschnitt analog zum folgenden Abschnitt hinzu:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Tesla M60"
    BusID          "PCI:0@your-BusID:0:0"
EndSection

Aktualisieren Sie darüber hinaus Ihren "Screen"-Abschnitt, um dieses Gerät zu verwenden.

Die dezimale Bus-ID kann durch Ausführen von Folgendem ermittelt werden:

nvidia-xconfig --query-gpu-info | awk '/PCI BusID/{print $4}'

Die Bus-ID kann sich ändern, wenn ein virtueller Computer neu zugewiesen oder neu gestartet wird. Wenn ein virtueller Computer neu gestartet wird, müssen Sie daher in der X11-Konfiguration zum Aktualisieren der Bus-ID ein Skript erstellen. Erstellen Sie z.B. ein Skript namens busidupdate.sh (oder eines anderen Namens Ihrer Wahl) mit ähnlichem Inhalt wie dem folgenden:

#!/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

Erstellen Sie dann einen Eintrag für Ihr Updateskript in /etc/rc.d/rc3.d, damit das Skript beim Systemstart als Stamm aufgerufen wird.

Problembehandlung

  • Sie können den Persistenzmodus mit nvidia-smi festlegen, damit die Ausgabe des Befehls schneller erfolgt, wenn Sie Karten abfragen müssen. Führen Sie zum Festlegen des Persistenzmodus nvidia-smi -pm 1 aus. Beachten Sie, dass die Moduseinstellung verloren geht, wenn der virtuelle Computer neu gestartet wird. Sie haben aber die Möglichkeit, per Skript festzulegen, dass der Modus immer beim Start festgelegt werden soll.
  • Wenn Sie die NVIDIA CUDA-Treiber auf die neueste Version aktualisiert haben und feststellen, dass RDMA-Verbindungen nicht mehr funktionieren, installieren Sie die RDMA-Treiber erneut, um diese Konnektivität wiederherzustellen.
  • Wenn bei der Installation von LIS eine bestimmte CentOS/RHEL-Betriebssystemversion (oder ein Kernel) für LIS nicht unterstützt wird, wird der Fehler „Unsupported kernel version“ (Nicht unterstützte Kernelversion) ausgelöst. Melden Sie diesen Fehler zusammen mit der Betriebssystem- und Kernelversion.
  • Wenn Aufträge durch ECC-Fehler auf der GPU unterbrochen werden (entweder korrigierbar oder nicht korrigierbar), überprüfen Sie zunächst, ob die GPU eines der RMA-Kriterien von Nvidia für ECC-Fehler erfüllt. Wenn die GPU für RMA geeignet ist, wenden Sie sich an den Support, um sie warten zu lassen. Starten Sie andernfalls Ihren virtuellen Computer neu, um die GPU erneut anzufügen, wie hier beschrieben. Weniger invasive Methoden wie nvidia-smi -r funktionieren nicht mit der in Azure bereitgestellten Virtualisierungslösung.

Nächste Schritte