Exécutez des centaines d'applications IA et HPC gratuites dans le catalogue NVIDIA NGC accélérées lors du rescale

Accueil NVIDIA NGC

Marché

Le catalogue NVIDIA GPU Cloud (NCC) est un ensemble organisé de logiciels gratuits et open source optimisés par GPU pour l'IA, HPC et VisualisationL’ Catalogue MBAC se compose d'applications conteneurisées, de modèles pré-entraînés, de graphiques Helm pour Kubernetes Déploiements et boîtes à outils d'IA sectorielles avec kits de développement logiciel (SDK). Le déploiement de NGC on Resale permet aux ingénieurs et aux scientifiques de se lancer plus facilement dans une variété de nouveaux cas d'utilisation pour la recherche et le développement sur une plateforme unique. Rescale automatise l'infrastructure matérielle, les logiciels et les étapes de workflow nécessaires pour rendre les outils de calcul les plus récents plus accessibles et plus rapides.

Dans ce didacticiel, nous allons vous montrer comment exécuter facilement NGC Catalog sur Rescale. NGC peut être exécuté soit par une tâche par lots à l'aide de la ligne de commande Rescale, soit de manière interactive à l'aide de Rescale Workstations.

Travail par lots

Didacticiel vidéo sur les tâches par lots

Exemple de travail et résultats

Vous pouvez accéder et lancer directement l'exemple de travail en cliquant sur le bouton Configuration du travail d'importation ou affichez les résultats en cliquant sur le bouton Obtenez des résultats de travail bouton ci-dessous. 

Dans l'exemple de travail ci-dessus, nous exécutons un script Python créant un machine learning TensorFlow. modèle avec l'ensemble de données MNIST. (Lien de référence).

Pour soumettre le travail par lots, la première étape consiste à choisir Fonction Plug & Play Type d'emploi.

Contributions

Téléchargez les scripts en cours d'exécution en tant que fichiers d'entrée. Dans l'exemple de travail, les scripts Python se trouvent dans le fichier d'archive compressé test.zip.

entrées

Logiciels

Choisissez ensuite NVIDIA Catalogue MBAC tuile.

logiciel 1 1
logiciel 2 1

Dans l' Command Dans la boîte de dialogue, nous fournissons la commande pré-remplie pour vous connecter à votre compte NGC et extraire et exécuter les conteneurs Docker.

Les utilisateurs peuvent extraire des conteneurs de Catalogue MBAC. Ici, nous utilisons le TensorFlow CONTENANT par exemple.

Screen Shot 2022 08 11 à 10.21.01 AM

Pour tirer le Conteneur Tensorflow, accédez au catalogue NGC et cliquez sur l'icône Étiquette à tirer pour copier le docker pull cmd.

conteneur tensorflow

Dans la zone de commande, collez la commande pull tag et saisissez les commandes suivantes pour exécuter le conteneur, comme dans le exemple de travail.

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'

Les utilisateurs peuvent se connecter à leur compte NGC Catalog via la plateforme Rescale. Vérifiez le Utiliser la licence existante sur la case Rescale dans les options de licence. Saisissez votre clé API et votre code d'organisation ici, comme indiqué dans la figure ci-dessous.

utiliser la licence existante

Pour obtenir votre clé API et votre code d'organisation, les utilisateurs doivent se connecter à votre compte NGC Catalog et générer votre propre clé API et votre propre code d'organisation.

obtention de la clé API

Nous fournissons une commande préremplie pour vous connecter au compte NGC. Les utilisateurs doivent simplement spécifier leur conteneur à extraire et la commande à exécuter dans la zone de commande. 

Hardware

Nous avons fourni une variété d'architectures pour votre travail, comme différents CPU et GPU core les types. Ici, nous en choisissons 4 GPU pour la formation TensorFlow.

matériel 3

Statut

Cliquez sur Soumettre bouton pour soumettre le travail. Une fois le travail exécuté, vous pouvez vérifier process_output.log pour la sortie.

statut 7

Résultats

Vous pouvez également ouvrir un terminal en cliquant sur le Ouvrir dans une nouvelle fenetre bouton pour déboguer votre script ou exécuter Nvidia-smi pour vérifier l'utilisation du GPU et les résultats pendant l'exécution du travail.

résultats 1 1
résultats 2 1

Une fois le travail terminé, tous les fichiers de données de résultats seront enregistrés dans le Résultats languette. Nous pouvons également ouvrir le fichier et vérifier les résultats.

Travail terminé

Dans le fichier process_output.log, nous pouvons voir que le compte NGC Catalog est connecté avec succès.

sortie du processus

Voici le résultat final et les résultats de l’exemple de travail.

sortie finale

Autres cas d'utilisation

Module NVIDIA

Le fichier d'entrée est un exemple de téléchargement .zip à partir de Site officiel du module. Pour ce cas d'utilisation, l'exemple de tâche peut être chargé via ce lien et résultats ici. 

module nvidia 1

Cmd (extrait la dernière version de NVIDIA Modulus de NGC. Exécutez le cas de flux de cavité pilotée par couvercle (LDC) dans le conteneur Modulus avec docker run ). Pour ce conteneur, la clé NGC_API n'est pas requise.

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'

Surveillez le process_output.log et vérifiez les sorties.

processus de surveillance
processus de surveillance 2

Postes de travail

Exemple de poste de travail

Sur la plateforme Rescale, les utilisateurs peuvent également travailler de manière interactive avec Postes de travail . Pour soumettre un travail, cliquez sur le NOUVEAU poste de travail bouton. Voici une exemple de travail pour référence.

poste de travail

Configuration

Pour l'entrée, téléchargez les scripts que vous devez exécuter. Ensuite, choisissez Flux de travail interactif du catalogue MBAC tuile en tant que logiciel. Contrairement à travaux par lots, nous n'avons pas besoin de spécifier un script de commande pour exécuter une station de travail ; au lieu de cela, vous interagirez avec lui à l'aide d'une interface graphique. 

entrée de configuration

Vérifiez la Utiliser la licence existante dans les options de licence pour vous connecter au compte NGC. Saisissez ici votre clé API NGC et votre code d’organisation. Les étapes de génération de la clé API NGC et des paramètres matériels sont les mêmes que celles des tâches par lots et ne sont pas répétées ici. 

utiliser la licence existante1

Une fois le poste de travail prêt, cliquez sur le bouton Connexion en haut ou Connectez-vous à l'aide du client local (Télécharger et installer le client NiceDCV) pour vous connecter au poste de travail.

Cliquez sur Connecter

Dans le poste de travail, nous pouvons ouvrir une fenêtre de terminal en cliquant sur Activités dans le coin supérieur gauche, recherchez le terminal et lancez-le.

au poste de travail

Dans le terminal ouvert, nous pouvons faire un travail interactif. Dans une fenêtre de terminal, exécutez les deux lignes suivantes cmd pour vous connecter au compte NGC.

$ 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)
terminal ouvert

Nous sommes alors prêts à retirer les conteneurs de Catalogue MBAC.

Conteneur Tensorflow

Dans cet exemple, nous extrayons le conteneur Tensorflow :

$ docker pull nvcr.io/nvidia/tensorflow:22.06-tf1-py3

Démarrez le conteneur Tensorflow en :

$ docker run --gpus all -it --rm -v ${PWD}/test:/test nvcr.io/nvidia/tensorflow:22.06-tf1-py3 bash
conteneur tensorflow1

Exécutez le cas simple suivant dans le conteneur (Lien de référence):

$ 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

Si tout fonctionne bien, nous pouvons vérifier les résultats prévus sur le terminal.

tout fonctionne bien

Conteneur de module

Extrayez la dernière version de NVIDIA Modulus de NGC.

$ docker pull nvcr.io/nvidia/modulus/modulus:22.03.1

Démarrez le conteneur Modulus par le répertoire :

$ 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 

Chargez avec succès le dernier module.

conteneur modulus chargé avec succès

Faites fonctionner le boîtier à cavité entraînée par le couvercle dans le conteneur en :

$ cd ldc
$ python ldc_2d.py
simulation ci-dessus

Comme ci-dessus simulation est en cours d'exécution, nous pouvons extraire le conteneur Paraview GUI à des fins de visualisation.

Conteneur d'interface graphique ParaView

Ouvrez une nouvelle fenêtre de terminal et extrayez le conteneur Docker Paraview de 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
vue para

Ouvrez ParaView dans le navigateur Web DCV (comme Firefox Web) en https://localhost:8080/

Ensuite, vous pouvez ouvrir l'interface graphique et visualiser les fichiers de résultats.

visualisation d'interface graphique
visualisation d'interface graphique 2

Conclusion

Nous espérons que ce didacticiel vous a aidé à démarrer avec l'exécution de NGC Catalog sur Rescale. Comme vous pouvez le voir, vous pouvez extraire et exécuter tous les conteneurs disponibles sur le catalogue NGC avec plusieurs GPU via une tâche par lots de redimensionnement. Vous pouvez également exécuter et lancer des conteneurs de manière interactive sur une station de travail Rescale, pour développer du code, surveiller la formation et post-traiter les résultats avec plusieurs GPU. Notre plate-forme propose différentes architectures GPU parmi lesquelles choisir et tous les actifs dont vous avez besoin pour créer votre flux de travail d'IA. Pour plus d'informations, vous pouvez visiter le Page de documentation NVIDIA pour NGC ici.