MILC AVEC
ACCÉLÉRATION GPU

Exploitez le plein potentiel de MILC avec notre guide de démarrage pour application GPU.

NAMD

MILC comprend une collection exhaustive de codes conçue par le réseau collaboratif MIMD Lattice Computation (MILC) à des fins d’étude de la chromodynamique quantique – la théorie des interactions fortes en physique subatomique. Ce pack logiciel permet d’exécuter des simulations sur quatre dimensions de la théorie des jauges sur réseau SU(3) via des machines MIMD parallèles. Les interactions fortes sont responsables de la transformation des quarks en protons et neutrons, mais aussi de la cohésion des nucléons sous la forme d’ensembles atomiques.

Le réseau MILC a produit des codes d’application pour l'étude de différents domaines de la recherche QCD. C’est l’un de ces domaines (les simulations ks_dynamical avec des quarks dynamiques conventionnels Kogut-Susskind) qui sera représenté ci-dessous. Vous retrouvez plus d’informations sur MILC à l’adresse suivante.

Installation

Installer des applications dans un environnement de calcul haute performance (HPC) peut s’avérer complexe. La technologie des conteneurs logiciels vous permet d’exécuter votre application sans l’installer en local sur votre système, ce qui vous permet de déployer la dernière version de l’application tout en optimisant les performances.
L’exécution d’un conteneur pour applications HPC est par ailleurs très simple : sa configuration nécessite quelques minutes seulement. Le conteneur MILC est disponible via NVIDIA GPU Cloud (NGC).

Exécution

Une fois que vous avez accédé au conteneur NGC, deux options s’offrent à vous.

  • Exécuter MILC directement via la commande "nvidia-docker run".
  • Exécuter MILC de manière interactive au sein du conteneur.

1. Exécuter MILC par ligne de commande

Dans cet exemple, nous allons utiliser le benchmark APEX sur un réseau 18x18x18x36 avec les scripts du répertoire "/workspace/examples" du conteneur GPU.

Veuillez noter que les données APEX seront téléchargées par le script si elles ne sont pas disponibles dans le répertoire assigné à "/data" dans le conteneur.

Pour sauvegarder les données de sortie, nous allons assigner avec -v le répertoire de travail actuel au répertoire "/apex" du conteneur, puis sauvegarder notre fichier journal de manière à rendre les résultats disponibles à la fin de la procédure. Pour exécuter le conteneur MILC avec une interface par ligne de commande (CLI), vous devez utiliser la commande ci-après.

nvidia-docker run -ti --rm -v $(pwd)/data:/data -v $(pwd):/apex nvcr.io/hpc/milc:patch4Oct2017 /workspace/examples/apex.sh 1

Veuillez noter que vous pouvez également assigner la commande CLI à votre répertoire local contenant vos propres scripts (*.sh par exemple). Le script ci-dessous lance le conteneur MILC et exécute le script *.sh à partir du répertoire de résultats :

nvidia-docker run -ti --rm -v $(pwd)/data:/data -v $(pwd):/results nvcr.io/hpc/milc:patch4Oct2017 /results/*.sh

2. Exécuter MILC de manière interactive

Dans cet exemple, nous allons à nouveau exécuter le benchmark APEX à partir du répertoire "/workspace" du conteneur GPU. L’exécution interactive est plus particulièrement recommandée si vous avez recours à des conteneurs MILC multiples sur la même image d’OS.

Pour exécuter le conteneur MILC de manière interactive, veuillez saisir la commande ci-après, qui permet d’initialiser le conteneur et de monter votre répertoire actuel sur "/work" au sein du conteneur. (Veuillez consulter les options -v ci-dessous pour définir l’allocation de votre répertoire de données local dans le conteneur.)

nvidia-docker run -ti --rm -v $(pwd)/data:/data -v $(pwd):/work nvcr.io/hpc/milc:patch4Oct2017 /bin/bash

Après le démarrage du conteneur, vous vous trouverez dans "/workspace" et pourrez l’exécuter de deux façons. La première méthode consiste à localiser le répertoire "/workspace" pour accéder aux scripts par défaut afin de les modifier et de procéder à une nouvelle exécution. Les jeux de données préalablement assignés se trouveront dans le répertoire "/data" si vous utilisez la commande ci-dessus.

/workspace/examples/apex.sh 1

Vous pouvez également connecter au répertoire "/work" du conteneur votre propre répertoire de travail avec vos scripts afin de les exécuter directement depuis le conteneur :

-v :/work

Benchmarks

Cette section présente les performances typiques du conteneur MILC sur les systèmes accélérés par GPU.

tesla-gpu-ready-apps-milc-pascal-benchmark-chart-625-udt-r2
tesla-gpu-ready-apps-milc-volta-benchmark-chart-625-udt-r2

CONFIGURATION SYSTÈME RECOMMANDÉE

Le conteneur MILC a été optimisé et testé pour offrir un maximum de fiabilité sur les systèmes à architecture NVIDIA Pascal™ ou NVIDIA Volta avec CUDA® 9 ou plus. MILC et tous les conteneurs d’application HPC disponibles via NVIDIA GPU Cloud peuvent être exécutés sur les systèmes suivants :

  • Stations de travail avec NVIDIA Titan V et CPU x86
  • Station NVIDIA DGX™
  • NVIDIA DGX-1™
  • Clusters HPC avec GPU Pascal ou Volta, CUDA 9 ou plus et CPU x86
  • Cloud : Amazon Web Services

ACCÉDEZ À DES CONTENEURS D’APPLICATION ACCÉLÉRÉS PAR GPU AVEC NGC.