GENCI-Neowise Usage

From Grid5000
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Genci.png
Inria.png

Dans le cadre du fond AMD-COVID-19 HPC qui soutient les équipes de recherche mondiales luttant contre la pandémie de COVID-19, AMD a fait don à GENCI et Inria d'une capacité de calcul de plus d'un demi petaflop/s (FP64), sous la forme d'un cluster de calcul complet constitué de nœuds de calcul hybrides équipés de GPUs AMD Radeon Instinct™ MI50 et CPU AMD EPYC™ de seconde génération. Avec ce don, AMD souhaite soutenir l'accélération des efforts déjà entrepris par GENCI et Inria contre la COVID-19.

La machine AMD est intégrée dans l'infrastructure nationale GRID'5000/SILECS sur le site Lyon hébergé à l'École Normale Supérieure de Lyon. Elle est rendue accessible aux utilisateurs de la communauté scientifique française via des Accès Préparatoires.

La machine se nomme neowise. Elle est constituée de 10 nœuds monosocket AMD EPYC de 2e génération, chacun doté de 8 GPUs Radeon MI50. Soit au total 80 GPUs Radeon MI50. Les 10 nœuds sont interconnectés par un réseau Infiniband HDR.

Étant hébergée dans l'infrastructure Grid'5000, l'accès à la machine se fait via Grid'5000. Le site web www.eDARI.fr n'est en particulier pas utilisé pour l'accès, contrairement aux autres ressources de GENCI.

La machine est ouverte aux utilisateurs est prévue depuis juin 2021. neowise est pour l'instant disponible en phase de test, son fonctionnement n'étant pas entièrement qualifié.

Ouverture du compte sur Grid'5000

Les utilisateurs en provenance d'eDARI voulant accéder à la machine AMD doivent ouvrir un compte Grid'5000 en remplissant le formulaire suivant :

https://www.grid5000.fr/w/Special:G5KRequestAccountUMS

En plus des informations personnelles et professionnelles, il est nécessaire de spécifier le groupe "genci-neowise" dans le champ "Group Granting Access". Il est également requis de donner une explication de l'utilisation prévue de la machine dans le champ "Intended Usage", notamment les méthodes numériques et implémentations utilisées, la justification des ressources avec le nombre et la nature de chaque type de tâche.

Le compte sera approuvé par un des gestionnaires de Grid'5000 en fonction de l'adéquation des demandes avec l'infrastructure.

En plus des règles décrites ci-dessous, l'utilisation de neowise et de Grid'5000 nécessite de respecter les conditions générales d'utilisation. En particulier, le traitement de données sensibles au sein de Grid'5000 n'est possible qu'en suivant une utilisation spécifique de la plateforme.

Règles d'utilisation des ressources

Grid'5000 étant une plateforme destinée à la réalisation d'expériences scientifiques, l’attribution des ressources de calcul vise à favoriser les tâches (jobs) de courte durée.

Les grands principes de l'utilisation des ressources de Grid'5000 sont les suivants :

  • En journée (9h à 19h), un utilisateur ne doit pas utiliser plus de l'équivalent de 2h de l'intégralité d'un cluster (par exemple, cluster entier durant 2h, ou bien la moitié du cluster durant 4h, etc.)
  • Les nuits et les weekends, la durée des tâches n'est pas limitée
  • Tous les utilisateurs ont accès à l'ensemble des ressources de Grid'5000. Il n'est pas nécessaire de faire une demande spécifique pour se voir attribuer des heures d'utilisation d'un équipement particulier.

Cela étant, en cas de besoin, les utilisateurs sont encouragés à demander des accès sur des périodes plus longues. Pour cela, une demande argumentée par mail est nécessaire.

La description complète de la politique d'utilisation de Grid'5000 est documentée sur la page suivante : https://www.grid5000.fr/w/Grid5000:UsagePolicy

Suite à l'utilisation

Les publications scientifiques des utilisateurs GENCI ayant bénéficié de l'utilisation de la machine neowise doivent mentionner le texte de remerciement suivant :

  • Version française : « Ces travaux ont bénéficié d’un accès aux moyens de calcul de Grid'5000 au travers de l'allocation de ressources 202X attribuée par GENCI/INRIA »
  • Version anglaise : « This work was granted access to the HPC resources of Grid'5000 under the allocation 202X made by GENCI/INRIA »

A l'issu de l'utilisation de la machine, un court compte rendu est à compléter dans le formulaire de gestion de compte de Grid'5000, en éditant le champ "Affiliation / Comment".

Les informations liées à l'utilisation du cluster neowise seront mises à disposition de GENCI.

Utilisation basique de la machine

Accès

On se connecte à Grid'5000 à l'aide de SSH sur une machine d'accès :

Terminal.png outside:
ssh login@access.grid5000.fr

Grid'5000 est distribué sur plusieurs sites indépendants. neowise étant hébergé sur le site de Lyon, on se connecte alors à la frontale de ce site depuis la machine d'accès :

Terminal.png access:
ssh lyon

(Voir la page de documentation Getting Started pour mettre en place un accès direct au site de lyon, notamment pour copier des fichiers)

Soumission de tâches

Le gestionnaire des ressources et tâches (batch scheduler) utilisé dans Grid'5000 est OAR. On peut l'utiliser de la manière suivante pour l'accès à neowise :

  • Accès interactif à un noeud neowise :
Terminal.png flyon:
oarsub -t exotic -p neowise -I
  • Soumission d'un job exécutant le script my_job_script d'une durée maximale de 2 heures, sur 4 noeuds neowise :
Terminal.png flyon:
oarsub -t exotic -p neowise -l nodes=4,walltime=2 ./my_job_script

Une vue de l'utilisation actuelle et future de la machine est disponible sur son diagramme d'utilisation.

Pour obtenir des informations sur les jobs, on peut utiliser la commande oarstat. Pour avoir les informations sur un job en particulier :

Terminal.png flyon:
oarstat -f -j job_id
Environnement logiciel

L’environnement logiciel dont dispose la machine est le suivant :

  • Système d'exploitation Debian stable avec les logiciels usuels (GCC, OpenMPI…)
  • Logiciels additionnels disponibles sous forme de Modules, ou via le gestionnaire de paquets Guix
  • Support de l’exécution de containers Singularity et Docker

L'écosystème logiciel nécessaire à l'utilisation des GPUs AMD est nommé ROCm. La documentation de ROCm fournie par AMD est disponible ici. Voici les principaux logiciels disponibles pour neowise :

  • rocm-smi : obtenir des informations sur les GPU
  • hipcc : compilateur HIP
  • hipfy-perl : conversion de code CUDA en code compilable avec hipcc
  • la plupart des bibliothèques et outils de développement ROCm et HIP (listés sur https://rocmdocs.amd.com/en/latest/Installation_Guide/Software-Stack-for-AMD-GPU.html) sont disponibles sous forme de modules, et parfois dans des versions plus récentes que celles disponibles sur le système.
  • les framework de Deep Learning pytorch et TensorFlow sint également installables sur neowise
  • une version d'OpenMPI permettant les transferts directs de GPU à GPU à l'intérieur d'un même noeud est également disponible via le module "openmpi/4.1.3_gcc-10.2.0"
  • il est possible de demander la mise à disposition de logiciels ou bibliothèques supplémentaires en écrivant à support-staff@lists.grid5000.fr.
  • enfin, sur Grid'5000, il est possible de passer root sur les machines à l'aide de la commande "sudo-g5k"
Aller plus loin

Il est enfin fortement recommandé de lire la documentation Getting Started pour mieux prendre en main le fonctionnement de Grid'5000. De plus, l'ensemble des documentations est présenté sur le portail utilisateur.