GPU-Verarbeitung mit Spatial Analyst

Mit der Spatial Analyst-Lizenz verfügbar.

Spatial Analyst bietet nun eine optimierte Performance bei Verwendung der GPU-Verarbeitung für einige Werkzeuge. Diese Technologie nutzt die Rechenleistung der Grafikkarte moderner Computer, um die Performance bestimmter Vorgänge zu optimieren.

Die folgenden Werkzeuge unterstützen derzeit die GPU-Verarbeitung:

Was ist GPU-Verarbeitung?

Ein Grafikprozessor (GPU) ist eine Hardware-Komponente Ihres Computers, die in erster Linie das Rendern von Grafiken auf dem Bildschirm beschleunigen soll. Seit einiger Zeit wird die Verarbeitungsleistung von GPUs auch für die Durchführung allgemeiner Verarbeitungsaufgaben genutzt.

Bei Werkzeugen, die sich per GPU beschleunigen lassen, übernimmt die GPU die Raster-Verarbeitungsaufgaben anstelle der CPU. Bei bestimmten Arten von Verarbeitungsvorgängen kann diese Methode vorteilhaft sein. In diesen Fällen wird die Verarbeitungsaufgabe von der Software in viele kleine Portionen geteilt und zur Verarbeitung an die GPU gesendet. Anschließend führt die GPU die Berechnungen für alle kleinen Portionen parallel mit höherer Geschwindigkeit durch. Die resultierenden Daten werden zurückgesendet und die Komponenten von der Software zu einem endgültigen vollständigen Produkt zusammengeführt.

Unterstützte GPU-Karten und -treiber

Es sind verschiedene Lösungen für die GPU-Verarbeitung auf dem Markt verfügbar. Derzeit werden nur NVIDIA-GPUs mit CUDA-Compute Capability Version 3.0 oder höher unterstützt. In Ihrem System muss eine entsprechende Karte installiert sein, um auf diese Funktion zuzugreifen.

Um die Grafikkarten auf einem Windows-Computer zu überprüfen, öffnen Sie den Geräte-Manager des Systems, und blenden Sie die Option "Grafikkarte" ein. Hier werden die Markennamen und Typen Ihrer Grafikkarten angezeigt. Wenn keine NVIDIA Grafikkarte aufgeführt ist, können Sie nicht auf diese Funktion zugreifen und das Werkzeug verwendet lediglich die CPU.

Wenn Sie über eine NVIDIA Grafikkarte verfügen, müssen Sie über die NVIDIA Systemsteuerung überprüfen, welcher GPU-Typ auf Ihrem System installiert ist:

  1. Klicken Sie mit der rechten Maustaste in einen leeren Bereich des Desktops. Klicken Sie im Kontextmenü auf NVIDIA-Systemsteuerung.
  2. Wechseln Sie im Systemsteuerungsfenster zum Hilfemenü, und klicken Sie auf Systeminformationen. Es werden alle NVIDIA Grafikkarten, deren Treiberversionen und andere Eigenschaften angezeigt.

Nachdem Sie den Typ der NVIDIA-GPU-Karte ermittelt haben, suchen Sie deren CUDA-Compute Capability auf der NVIDIA-Hilfeseite für CUDA-GPUs nvidia.com. Suchen Sie im entsprechenden Abschnitt Ihre spezifische GPU-Karte, und notieren Sie sich den dort aufgeführten Compute Capability-Wert. Er muss mindestens 3,0 betragen, um vom Werkzeug unterstützt zu werden.

Wenn eine GPU-Karte auf einem Computer installiert ist, ist sie mit einem Standardtreiber ausgestattet. Bevor Sie ein Analysewerkzeug ausführen, das eine GPU verwendet, müssen Sie Ihre GPU-Kartentreiber auf der Aktualisierungsseite für NVIDIA-Treiber unter nvidia.com auf die neueste Version aktualisieren.

GPU-Konfiguration

Das Werkzeug verwendet nur eine GPU für die Berechnung. Wenn Ihr Computer jedoch nur über eine GPU verfügt, wird sie für die Anzeige und für die Berechnung verwendet. In diesem Szenario wird eine Warnmeldung zum Zeitpunkt der Ausführung des Werkzeugs angezeigt, dass die Anzeige möglicherweise nicht reagiert. Daher empfiehlt sich für räumliche Analysen die Verwendung von zwei GPUs: eine für die Anzeige und eine, die für Rechenvorgänge genutzt wird.

Verfügt Ihr System über mehrere GPUs, wird standardmäßig die erste GPU im TCC-Treibermodus (Tesla Compute Cluster) verwendet. Wenn keine GPU im TCC-Treibermodus vorhanden ist, wird die erste GPU (mit dem Index 0) verwendet, sofern nicht anders angegeben. Beachten Sie zum Festlegen oder Deaktivieren einer GPU Folgendes:

  • Um eine andere GPU zu verwenden, können Sie sie über die Systemumgebungsvariable CUDA_VISIBLE_DEVICES festlegen. Erstellen Sie dazu zunächst diese Umgebungsvariable, falls sie noch nicht in Ihrem System vorhanden ist. Legen Sie deren Wert anschließend auf den Indexwert (0 für die erste, 1 für die zweite usw.) fest, der das zu verwendende GPU-Gerät darstellt, und starten Sie die Anwendung neu.
  • Wenn die Analyse keine der in Ihrem System installierten GPU-Geräte verwenden soll, können Sie die Systemumgebungsvariable CUDA_VISIBLE_DEVICES auf -1 setzen und Ihre Anwendung anschließend neu starten. Die Ausführung des Werkzeugs erfolgt dann ausschließlich unter der Verwendung der CPU.
  • Damit das Werkzeug wieder mit einem GPU-Gerät verwendet werden kann, löschen Sie entweder die Systemumgebungsvariable CUDA_VISIBLE_DEVICES, oder legen Sie den Wert dieser Umgebungsvariable auf den Indexwert des zu verwendenden GPU-Geräts fest, und starten Sie die Anwendung neu.

Weitere Informationen zur Umgebungsvariable CUDA_VISIBLE_DEVICES finden Sie auf der Website CUDA Toolkit Programming Guide nvidia.com.

In den folgenden Unterabschnitten werden die erforderlichen Konfigurationsschritte beschrieben, um bei der Verwendung der GPU-Funktion eine optimale Performance zu erzielen.

Festlegen des TCC-Treibermodus

Bei NVIDIA-GPUs sollte für die Berechnungs-GPU anstelle des Standard-Anzeigetreibers von Windows (WDDM) der TCC-Treiber eingestellt werden. Der TCC-Modus ermöglicht eine effizientere Nutzung der Berechnungs-GPU.

Um den TCC-Treibermodus zu aktivieren, verwenden Sie das NVIDIA System Management Interface-Steuerungsprogramm, das sich in der Regel unter C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe befindet. Mit dem Befehl 'nvidia-smi -dm 1 -i 2' wird die Karte mit der Geräte-ID 2 beispielsweise in den Anzeigemodus 1 (TCC) umgeschaltet.

Hinweis:

Wenn Sie ArcGIS Server ausführen, muss sich die für die Berechnung verwendete GPU im TCC-Treibermodus befinden.

Deaktivieren des ECC-Modus

Deaktivieren Sie den EEC-Modus (Error Correcting Code) für die Berechnungs-GPU, da er den für die GPU verfügbaren Speicher reduziert.

Um den ECC-Modus zu aktivieren, verwenden Sie das NVIDIA System Management Interface-Steuerungsprogramm (nvidia-smi), das sich in der Regel unter C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe befindet. Mit dem Befehl 'nvidia-smi -e 0 -i 1' wird beispielsweise der ECC-Modus für die GPU mit der Geräte-ID 1 deaktiviert.

Erhöhen der TDR-Einstellung

Wenn die Berechnungs-GPU sich im WDDM-Treibermodus befindet, kann das Windows-Anzeigegerät die GPU neu starten, wenn Berechnungsaufgaben länger als einige Sekunden dauern. Dies wird als Windows-TDR-Bedingung (Timeout Detection and Recovery) bezeichnet. In diesem Fall kann die Ausführung des Werkzeugs nicht abgeschlossen werden und es wird ein GPU-Fehler zurückgegeben.

Sie können eine Änderung an einem Registrierungsschlüssel, TdrDelay, vornehmen, um dieses Szenario zu verhindern. Wenn Sie ihn auf einen geeigneten Wert (z. B. 60 Sekunden) festlegen, kann ein längerer Vorgang abgeschlossen werden, bevor die TDR-Bedingung ausgelöst wird. Der Registry-Pfad für den Schlüssel "TdrDelay" lautet in den meisten Windows-Systemen HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers. Wenn kein TdrDelay-Schlüssel vorhanden ist, müssen Sie ihn in diesem Pfad erstellen. Denken Sie daran, vor dem Erstellen oder Ändern dieses Registry-Werts eine Sicherung der Registrierung durchzuführen. Starten Sie den Computer neu, damit die Änderung wirksam wird. Im Microsoft Developer Network finden Sie weitere Informationen (in Englisch) zur Einstellung der TDR-Verzögerung microsoft.com.

Vorsicht:

Esri übernimmt keine Verantwortung für Systemprobleme, die durch unsachgemäße Änderungen an der Registrierung auftreten. Stellen Sie sicher, dass Sie über eine funktionierende Sicherung der Registrierung verfügen, auf die Sie bei Problemen zurückgreifen können, oder lassen Sie die Änderung von einem kompetenten Systemanalytiker vornehmen.

Verwandte Themen