GENCI-Neowise Usage: Difference between revisions

From Grid5000
Jump to navigation Jump to search
No edit summary
 
(26 intermediate revisions by 4 users not shown)
Line 3: Line 3:
[[File:Inria.png|thumb]]
[[File:Inria.png|thumb]]


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.


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 un don à GENCI et Inria d'une capacité de calcul de plus d'un demi-petaflop/s (FP64), sous la forme d'un cluster complet de nœuds de calcul hybrides équipés de GPUs AMD Radeon Instinct™ MI50 et de la seconde génération de CPU AMD EPYC™.
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.


Avec ce don, AMD souhaite accélérer les efforts déjà entrepris par GENCI et Inria contre la COVID-19. Le système AMD, est intégré dans l'infrastructure nationale GRID'5000/SILECS sur le site de l'École normale supérieure de Lyon et est accessible aux utilisateurs de la communauté scientifique française via des Accès Préparatoire.
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.


La machine est nommée ''neowise'' et est constituée de 10 nœuds monosocket AMD EPYC de 2e génération, chacun configuré avec 8 GPUs Radeon MI50, soit 80 GPUs Radeon MI50 au total, interconnectés par un réseau HDR Infiniband.
É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.
 
Ces ressources sont hébergées dans l'infrastructure Grid'5000 et sont accessibles via cette plateforme (le site web www.eDARI.fr n'est pas utilisé comme pour les autres ressources de GENCI).
 
Une ouverture préliminaire de la machine aux utilisateurs est prévue fin juin 2021. ''neowise'' sera dans un premier temps disponible en phase de test, son fonctionnement n'étant pas entièrement qualifié.


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 =
= 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 ce formulaire :
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
https://www.grid5000.fr/w/Special:G5KRequestAccountUMS


En plus de ses informations personnelles et professionnelles, il est nécessaire de spécifier dans le champ "Group Granting Access" le groupe "genci-neowise"  ainsi qu'une explication de l'utilisation prévue de la machine, 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 tache.   
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.   
Ces informations seront mises à disposition de GENCI.


Le compte pourra ensuite être approuvé par un des responsables de Grid'5000 en fonction de l'adéquation des demandes avec l'infrastructure.
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 [[Grid5000:General Conditions of Use|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 [[Armored Node for Sensitive Data|suivant une utilisation spécifique]] de la plateforme.
En plus des règles décrites ci-dessous, l'utilisation de ''neowise'' et de Grid'5000 nécessite de respecter [[Grid5000:General Conditions of Use|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 [[Armored Node for Sensitive Data|suivant une utilisation spécifique]] de la plateforme.
Line 30: Line 27:
= Règles d'utilisation des ressources =
= Règles d'utilisation des ressources =


Grid'5000 étant une plateforme pour la réalisation d'expérience, l’attribution des ressources de calcul est pensée pour favoriser les jobs de courte durée.
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 sont les suivants :
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 (le cluster entier durant de 2h, la moitié du cluster durant 4h, etc.)
* 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, l'utilisation n'est pas limitée
* 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.
* 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.


Il est tout à fait possible pour les utilisateurs de la machine AMD d'y accéder durant des périodes plus longues. Il faut simplement en faire [[Grid5000:SpecialUsage|la demande argumentée par mail]].
Cela étant, en cas de besoin, les utilisateurs sont encouragés à demander des accès sur des périodes plus longues. Pour cela, une [[Grid5000:SpecialUsage|demande argumentée par mail]] est nécessaire.
 
La description complète de la politique d'utilisation est documentée sur cette page : https://www.grid5000.fr/w/Grid5000:UsagePolicy


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 =
= Suite à l'utilisation =
Line 50: Line 46:
A l'issu de l'utilisation de la machine, un court compte rendu est à compléter dans [https://api.grid5000.fr/ui/account le formulaire de gestion de compte de Grid'5000], en éditant le champ "Affiliation / Comment".
A l'issu de l'utilisation de la machine, un court compte rendu est à compléter dans [https://api.grid5000.fr/ui/account le formulaire de gestion de compte de Grid'5000], en éditant le champ "Affiliation / Comment".


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


= Utilisation basique de la machine =
= Utilisation basique de la machine =
; Accès
On se connecte à Grid'5000 à l'aide de SSH sur une machine d'accès :


On se connecte à Grid'5000 à l'aide de SSH :
{{Term|location=outside|cmd=<code class="command">ssh</code> <code class=replace>login</code>@access.grid5000.fr}}


$ 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 :


Grid'5000 est distribué sur plusieurs sites indépendant. ''neowise'' étant hébergé sur le site de Lyon, il faut se connecter à la frontale de ce site depuis la machine d'accès :
{{Term|location=access|cmd=<code class="command">ssh</code> lyon}}


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)


Le ''job scheduler'' utilisé dans Grid'5000 est OAR. On peut l'utiliser de la manière suivante pour l'accès à neowise :
; 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 :
* Accès interactif à un noeud neowise :
flyon$ oarsub -t exotic -q testing -p "cluster='neowise'" -I
{{Term|location=flyon|cmd=<code class="command">oarsub</code> -t exotic -p neowise -I}}
   
   
# Soumission d'un job d'une durée maximale de 2 heures, sur 4 noeuds :
* Soumission d'un job exécutant le script <code class=path>my_job_script</code> d'une durée maximale de 2 heures, sur 4 noeuds neowise :
flyon$ oarsub -t exotic -q testing -p "cluster='neowise'" -l "nodes=4,walltime=2:" ./my_job
{{Term|location=flyon|cmd=<code class="command">oarsub</code> -t exotic -p neowise -l nodes=<code class=replace>4</code>,walltime=<code class=replace>2</code> <code class=replace>./my_job_script</code>}}


Une vue de l'utilisation actuelle et future de la machine est disponible sur son [https://intranet.grid5000.fr/oar/Lyon/drawgantt-svg/?filter=neowise%20only diagramme d'utilisation].


L'utilisation actuelle et prévue de la machine est visible sur son [https://intranet.grid5000.fr/oar/Lyon/drawgantt-svg/?filter=neowise%20only diagramme d'utilisation]. Pour obtenir des informations sur les jobs, on peut également utiliser la commande <code>oarstat</code> (ex: <code>oarstat -f -j <numéro_de_job></code>)
Pour obtenir des informations sur les jobs, on peut utiliser la commande <code class=command>oarstat</code>. Pour avoir les informations sur un job en particulier :
{{Term|location=flyon|cmd=<code class="command">oarstat</code> -f -j <code class=replace>job_id</code>}}


; Environnement logiciel
L’environnement logiciel dont dispose la machine est le suivant :
L’environnement logiciel dont dispose la machine est le suivant :
* Système d'exploitation debian stable avec les logiciels usuels (GCC, OpenMPI…)
* Système d'exploitation Debian stable avec les logiciels usuels (GCC, OpenMPI…)
* Logiciels additionnels disponibles sous forme de [[Environment modules|modules]], ou via la gestionnaire de paquets [[Guix]]
* Logiciels additionnels disponibles sous forme de [[Modules]], ou via le gestionnaire de paquets [[Guix]]
* Support de l’exécution de containers [[Singularity]] et [[Docker]]
* 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 [https://rocmdocs.amd.com/en/latest/index.html ici]. Voici les principaux logiciels disponibles pour ''neowise'' :
L'écosystème logiciel nécessaire à l'utilisation des GPUs AMD est nommé ROCm. La documentation de ROCm fournie par AMD est disponible [https://rocmdocs.amd.com/en/latest/index.html ici]. Voici les principaux logiciels disponibles pour ''neowise'' :
* <code>rocm-smi</code> : obtenir des informations sur les GPU
* <code class=command>rocm-smi</code> : obtenir des informations sur les GPU
* <code>hipcc</code> : compilateur HIP
* <code class=command>hipcc</code> : compilateur HIP
* <code>hipfy-perl</code> : conversion de code CUDA en code compilable avec hipcc
* <code class=command>hipfy-perl</code> : conversion de code CUDA en code compilable avec hipcc
* d'autres logiciels et bibliothèques seront bientôt disponible sous forme de module
* 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|modules]], et parfois dans des versions plus récentes que celles disponibles sur le système.
 
* les framework de Deep Learning [[Deep Learning Frameworks#Deep_learning_with_AMD_GPUs|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 à [mailto:support-staff@lists.grid5000.fr 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"


Il est enfin fortement recommandé de lire la [[Getting Started|documentation ''Getting Started'']] pour mieux comprendre le fonctionnement de Grid'5000. L'ensemble des documentations disponibles sont répertoriées sur [[Users Home|le portail utilisateur]].
; 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 [[Users Home|le portail utilisateur]].

Latest revision as of 10:28, 22 June 2023

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.