Führen Sie Hunderte von kostenlosen KI- und HPC-Anwendungen im NVIDIA NGC-Katalog aus, beschleunigt auf Rescale

Übersicht
Der NVIDIA GPU Cloud (NCC)-Katalog ist eine kuratierte Sammlung kostenloser und Open-Source-GPU-optimierter Software für KI, HPCDie Verwendung der Parallelverarbeitung zum Ausführen erweiterter Anwendungen ... Mehr und VisualisierungVisualisierung ist die Darstellung komplexer wissenschaftlicher oder... Mehr. Der NGC-Katalog besteht aus containerisierten Anwendungen, vortrainierten Modellen, Helm-Charts für KubernetesEine Open-Source-Container-Orchestrierungsplattform, die automatisiert … Mehr Bereitstellungen und branchenspezifische KI-Toolkits mit Software Development Kits (SDKs). Die Bereitstellung von NGC on Resale erleichtert Ingenieuren und Wissenschaftlern den Einstieg in eine Vielzahl neuer Anwendungsfälle für Forschung und Entwicklung auf einer einzigen Plattform. Rescale automatisiert die erforderliche Hardware-Infrastruktur, Software und Workflow-Schritte, um die neuesten Rechentools zugänglicher und schneller zu machen.
In diesem Tutorial zeigen wir Ihnen, wie Sie NGC Catalog einfach auf Rescale ausführen. NGC kann entweder per Batch-Job über die Rescale-Befehlszeile oder interaktiv über Rescale-Workstations ausgeführt werden.
Stapelverarbeitung
Video-Tutorial zu Stapelverarbeitung
Beispieljob und Ergebnisse
Sie können auf den Beispieljob zugreifen und ihn direkt starten, indem Sie auf das Symbol Job-Setup importieren oder zeigen Sie die Ergebnisse an, indem Sie auf die Schaltfläche Auftragsergebnisse abrufen Knopf unter.
Im obigen Beispieljob führen wir ein Python-Skript aus, das ein TensorFlow-Maschinenlernprogramm erstellt. ModellEine numerische, symbolische oder logische Darstellung eines Systems ... Mehr mit MNIST-Datensatz. (Referenzlink).
Um den Batch-Job zu übermitteln, wählen Sie zunächst Plug-and-Play-Betrieb Auftragstyp.
Eingänge
Laden Sie laufende Skripte als Eingabedateien hoch. Im Beispieljob befinden sich die Python-Skripte in der komprimierten Archivdatei test.zip.

Software
Wählen Sie als Nächstes die NVIDIA NGC-Katalog Fliese.


Im Befehl In der Box stellen wir den vorab ausgefüllten Befehl zum Anmelden bei Ihrem NGC-Konto und zum Abrufen und Ausführen von Docker-Containern bereit.
Benutzer können Container aus NGC-Katalog. Hier verwenden wir den TensorFlow ContainerEin Paket aus selbsterhaltenden Anwendungs- und Betriebssystemen ... Mehr als Beispiel.

Zum Ziehen der Tensorflow-Container, gehen Sie zum NGC-Katalog und klicken Sie auf das Pull Tag um den Docker-Pull-Befehl zu kopieren.

Fügen Sie im Befehlsfeld den Pull-Tag-Befehl ein und geben Sie die folgenden Befehle ein, um den Container auszuführen, wie in der Beispieljob.
docker pull nvcr.io/nvidia/tensorflow:22.06-tf1-py3
docker run --gpus all -v ${PWD}/test:/test nvcr.io/nvidia/tensorflow:22.06-tf1-py3
bash -c 'cd /test; python test.py'
Benutzer können sich über die Rescale-Plattform bei ihrem NGC-Katalogkonto anmelden. Überprüfen Sie die Vorhandene Lizenz verwenden Klicken Sie in den Lizenzoptionen auf „Neu skalieren“. Geben Sie hier Ihren API-Schlüssel und Ihren Org-Code ein, wie in der folgenden Abbildung gezeigt.

Um Ihren API-Schlüssel und Org-Code zu erhalten, müssen sich Benutzer bei Ihrem NGC-Katalogkonto anmelden und Ihren eigenen API-Schlüssel und Org-Code generieren.

Wir stellen einen vorgefertigten Befehl zur Anmeldung beim NGC-Konto bereit. Benutzer müssen lediglich den abzurufenden Container und den auszuführenden Befehl im Befehlsfeld angeben.
Hardware
Wir bieten eine Vielzahl von Architekturen für Ihre Aufgabe, wie verschiedene CPU und GPU Coreeine einzelne Verarbeitungseinheit innerhalb eines Mehrkernprozessors oder ... Mehr Typen. Hier wählen wir 4 GPUsGPUs (Graphics Processing Units) sind spezialisierte elektronische ... Mehr für TensorFlow-Training.

Status
Klicken Sie auf die Absenden , um den Auftrag zu übermitteln. Sobald der Auftrag ausgeführt wird, können Sie die Ausgabe in process_output.log überprüfen.

Ergebnisse
Sie können ein Terminal auch öffnen, indem Sie auf das In einem neuen Fenster öffnen Schaltfläche, um Ihr Skript zu debuggen oder auszuführen nvidia-smi um die GPU-Auslastung und die Ergebnisse während der Ausführung des Auftrags zu überprüfen.


Nach Abschluss des Auftrags werden alle Ergebnisdateien im Ergebnisse Registerkarte. Wir können die Datei auch öffnen und die Ergebnisse überprüfen.

In der Datei process_output.log können wir sehen, dass das NGC-Katalogkonto erfolgreich angemeldet ist.

Hier sind die endgültige Ausgabe und die Ergebnisse für den Beispieljob.

Andere Anwendungsfälle
NVIDIA-Modul
Die Eingabedatei ist ein Beispiel-ZIP-Download von Offizielle Modulus-Website. Für diesen Anwendungsfall kann der Beispieljob geladen werden über diesen Link und Ergebnisse hier.

Cmd (neueste Version von NVIDIA Modulus von NGC abrufen. Den Lid Driven Cavity (LDC)-Flow-Case im Modulus-Container mit „docker run“ ausführen). Für diesen Container ist der NGC_API-Schlüssel nicht erforderlich.
docker pull nvcr.io/nvidia/modulus/modulus:22.03.1
docker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864
--runtime nvidia -v ${PWD}/examples:/examples nvcr.io/nvidia/modulus/modulus:22.03.1
bash -c 'cd ldc;python ldc_2d.py'
Überwachen Sie das process_output.log und überprüfen Sie die Ausgaben.


Arbeitsplätze
Beispiel-Workstation
Auf der Rescale-Plattform können Benutzer auch interaktiv arbeiten mit ArbeitsplätzeUm einen Auftrag zu übermitteln, klicken Sie auf das New ArbeitsplatzEine Workstation ist ein leistungsstarkes Computersystem, das für professionelle Zwecke entwickelt wurde. Mehr Schaltfläche. Hier ist ein Beispieljob als Referenz.

Konfiguration
Laden Sie für die Eingabe die Skripte hoch, die Sie ausführen möchten. Wählen Sie anschließend Interaktiver Workflow des NGC-Katalogs Kachel als Software. Im Gegensatz BatchaufträgeStapeljobs sind automatisierte Aufgaben, die an ein Computersystem übermittelt werden … Mehr, wir müssen kein Befehlsskript angeben, um eine Workstation auszuführen; stattdessen interagieren Sie mit ihr über eine GUI.

Prüfen Sie die Vorhandene Lizenz verwenden Klicken Sie in den Lizenzoptionen auf das Feld, um sich bei Ihrem NGC-Konto anzumelden. Geben Sie hier Ihren NGC-API-Schlüssel und Ihren Org-Code ein. Die Schritte zur Generierung des NGC-API-Schlüssels und der Hardwareeinstellungen sind dieselben wie bei Batch-Jobs und werden hier nicht wiederholt.

Sobald die Workstation bereit ist, klicken Sie auf das Verbinden Klicken Sie oben auf die Schaltfläche „Verbinden mit lokalem Client“ (Laden Sie den NiceDCV-Client herunter und installieren Sie ihn), um sich bei der Workstation anzumelden.

In der Workstation können wir ein Terminalfenster öffnen, indem wir auf Aktivitäten in der oberen linken Ecke, suchen Sie das Terminal und starten Sie es.

Im geöffneten Terminal können wir interaktiv arbeiten. Führen Sie in einem Terminalfenster die folgenden zwei Zeilen cmd aus, um sich beim NGC-Konto anzumelden.
$ echo -e "\n \n $(echo $NGC_ORG_ID) \n \n \n" | ngc config set
$ docker login -u '$oauthtoken' --password-stdin nvcr.io <<< $(echo $NGC_CLI_API_KEY)

Dann sind wir bereit, Container aus NGC-Katalog.
Tensorflow-Container
In diesem Beispiel ziehen wir den Tensorflow-Container:
$ docker pull nvcr.io/nvidia/tensorflow:22.06-tf1-py3
Starten Sie den Tensorflow-Container wie folgt:
$ docker run --gpus all -it --rm -v ${PWD}/test:/test nvcr.io/nvidia/tensorflow:22.06-tf1-py3 bash

Führen Sie den folgenden einfachen Fall im Container aus (Referenzlink):
$ python3
$ import tensorflow as tf
$ tf.enable_eager_execution()
$ mnist = tf.keras.datasets.mnist
$ (x_train, y_train), (x_test, y_test) = mnist.load_data()
$ x_train, x_test = x_train / 255.0, x_test / 255.0
$ model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10)
])
$ predictions = model(x_train[:1]).numpy()
$ predictions
Wenn alles gut funktioniert, können wir die Ausgabe der vorhergesagten Ergebnisse auf dem Terminal überprüfen.

Modulus-Container
Laden Sie die neueste Version von NVIDIA Modulus herunter von NGC.
$ docker pull nvcr.io/nvidia/modulus/modulus:22.03.1
Starten Sie den Modulus-Container über das Verzeichnis:
$ docker run --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864
--runtime nvidia -it -v ${PWD}/examples:/examples
nvcr.io/nvidia/modulus/modulus:22.03.1 bash
Das neueste Modul wurde erfolgreich geladen.

Führen Sie den deckelbetriebenen Hohlraumbehälter im Behälter aus, indem Sie:
$ cd ldc
$ python ldc_2d.py

Wie oben SimulationSimulation ist Experimentieren, Testen von Szenarien und Erstellen von … Mehr läuft, können wir den Paraview-GUI-Container zu Visualisierungszwecken abrufen.
ParaView-GUI-Container
Öffnen Sie ein neues Terminalfenster und ziehen Sie den Paraview-Docker-Container aus NGC.
$ docker pull nvcr.io/nvidia-hpcvis/paraview:egl-py3-5.9.0
$ docker run --gpus all -p 8080:8080 -v ${PWD}:/ldc
nvcr.io/nvidia-hpcvis/paraview:egl-py3-5.9.0 ./bin/pvpython
share/paraview-5.9/web/visualizer/server/pvw-visualizer.py --content
share/paraview-5.9/web/visualizer/www/ --port 8080 --data /ldc

Öffnen Sie ParaView im DCV-Webbrowser (z. B. Firefox Web) durch https://localhost:8080/
Anschließend können Sie die GUI öffnen und die Ergebnisdateien visualisieren.


Fazit
Wir hoffen, dieses Tutorial hat Ihnen den Einstieg in die Ausführung von NGC Catalog auf Rescale erleichtert. Wie Sie sehen, können Sie alle in NGC Catalog verfügbaren Container mit mehreren GPUs über einen Rescale-Batchjob abrufen und ausführen. Alternativ können Sie Container interaktiv auf einer Rescale-Workstation ausführen und starten, um Code zu entwickeln, das Training zu überwachen und die Ergebnisse mit mehreren GPUs nachzubearbeiten. Unsere Plattform bietet Ihnen verschiedene GPU-Architekturen zur Auswahl und alle Ressourcen, die Sie für Ihren KI-Workflow benötigen. Weitere Informationen finden Sie auf der NVIDIA-Dokumentationsseite für NGC hier.