INTRODUCTION GÉNÉRALE À l 'IDRIS

Ce document s'adresse principalement aux nouveaux utilisateurs de l'IDRIS. Il présente les principaux points indispensables à une bonne utilisation des machines de l'IDRIS.

1. Présentation de l'IDRIS
2. Présentation de la machine
3. Demandes d'allocations d'heures sur la machine de l'IDRIS
4. Comment obtenir un compte ?
5. Comment se connecter pour calculer ?
6. Gestion de son compte et de son environnement
7. Présentation des espaces disques
8. Commandes de transferts de fichiers
9. La commande module
10. Compilation
11. Exécution
12. Formations proposées à l'IDRIS
13. Documentation de l'IDRIS
14. Le support aux utilisateurs

Pour une documentation complète sur les différents points abordés dans ce document, n’hésitez pas à consulter le site de l'IDRIS : www.idris.fr


1. Présentation de l'IDRIS

Missions et objectifs de l'IDRIS

L’IDRIS (Institut du développement et des ressources en informatique scientifique), fondé en novembre 1993, est le centre national du CNRS pour le calcul numérique intensif de très haute performance (HPC) et l’intelligence artificielle (IA), au service des communautés scientifiques de la recherche publique ou privée (sous condition de recherche ouverte avec publication des résultats), tributaires de l'informatique extrême.

À la fois centre de ressources informatiques et pôle de compétences en HPC et IA, l'IDRIS (www.idris.fr) est une unité d'appui et de recherche du CNRS (UAR 851), dépendant de la Direction des données ouvertes de la recherche (DDOR) du CNRS et rattachée administrativement à l’Institut des sciences de l’information et de leurs interactions (INS2I), mais dont la vocation à l’intérieur du CNRS est pluridisciplinaire. Les modalités de fonctionnement de l’IDRIS sont proches de celles des très grands équipements scientifiques.

Gestion scientifique des ressources

L'attribution des ressources de calcul de l'ensemble des centres nationaux (CINES, IDRIS et TGCC) est organisée sous la coordination du GENCI (Grand équipement national de calcul intensif).

Les demandes de ressources se font via le portail eDARI pour l'ensemble des centres .

Il est possible de déposer des demandes d’heures de calcul pour un nouveau projet, pour renouveler un projet existant ou pour compléter une allocation obtenue précédemment. Les allocations d'heures attribuées sont valables un an.

Suivant le volume d'heures demandé, le dossier déposé sera de type accès régulier (AR) ou accès dynamique (AD).

Dans le cas des accès réguliers : l'appel à projet pour les accès réguliers est ouvert en permanence mais l'évaluation des dossiers est semestrielle au sein des campagnes d'attribution. Les dossiers sont évalués du point de vue scientifique par les membres des comités thématiques en s'appuyant le cas échéant sur l'expertise technique, réalisé par les équipes d'assistance applicative des centres. Puis un Comité d'évaluation se réunit pour statuer sur les demandes de ressources et indiquer au Comité d'attribution, placé sous la responsabilité de GENCI, les propositions d'affectation des heures de calculs sur les trois centres nationaux.

Dans le cas des accès dynamique : les demandes sont examinées par le directeur de l'IDRIS qui jugera de la qualité scientifique et technique des dossiers et pourra demander l'avis d'un expert du comité thématique si besoin.

Dans les deux cas, la direction de l'IDRIS étudie les demandes spécifiques (dites “au fil de l'eau”) et effectue des attributions limitées pour éviter le blocage de projets en cours.

Pour plus d'information, consulter la page : Demandes d'allocations d'heures sur la machine de l'IDRIS).

Vous trouverez également une vidéo explicative concernant les demandes d'heures et d'ouverture de compte sur Jean Zay sur notre chaîne YouTube "Un œil sur l'IDRIS" :

Le Comité des utilisateurs de l'IDRIS

Le rôle du comité des utilisateurs est de dialoguer avec le centre afin que tous les projets auxquels des ressources informatiques ont été attribuées puissent être menés à bien dans les meilleures conditions. Il transmet les observations de tous les utilisateurs sur le fonctionnement du centre et dialogue avec l'IDRIS pour définir les évolutions souhaitables.

Le comité des utilisateurs est constitué de 2 élus par discipline scientifique, soit 22 en 2021, qui peuvent être contactés collectivement à l'adresse : Les pages du CU sont disponibles pour les utilisateurs de l'IDRIS en se connectant à l'Extranet de l'IDRIS, section Comité des utilisateurs.

C'est dans cet espace que sont mis à disposition les bilans d'exploitation des machines de l'IDRIS ainsi que les compte-rendu des dernières réunions.

Le personnel de l'IDRIS

Organigramme IDRIS

Retour au sommaire


2. Présentation de la machine

Jean Zay : calculateur HPE SGI 8600

Jean Zay est un calculateur HPE SGI 8600 composé de deux partitions : une partition contenant des nœuds scalaires et une partition contenant des nœuds accélérés, qui sont des nœuds hybrides équipés à la fois de CPU et de GPU. L'ensemble des nœuds du calculateur sont interconnectés par un réseau Intel Omni-PAth et accèdent à un système de fichiers partagé à très forte bande passante.

Après deux extensions successives, la puissance crête cumulée de Jean Zay est, depuis juin 2022, de 36,85 Pétaflop/s.

L'accès aux diverses partitions hardware de la machine dépend du type de travail soumis (CPU ou GPU) et de la partition Slurm demandée pour son exécution (voir le détail des partitions Slurm CPU et des partitions Slurm GPU).

Partition scalaire (ou partition CPU)

Sans indiquer de partition CPU ou avec la partition cpu_p1, vous aurez accès aux ressources suivantes :

  • 720 nœuds de calcul scalaires avec :
    • 2 processeurs Intel Cascade Lake 6248 (20 cœurs à 2,5 GHz), soit 40 cœurs par nœud
    • 192 Go de mémoire par nœud

Remarque : suite au décommissionnement de 808 nœuds CPU le 05/02/2024, cette partition est passée de 1528 nœuds à 720 nœuds.

Partition accélérée (ou partition GPU)

Sans indiquer de partition GPU ou avec la contrainte v100-16g ou v100-32g, vous aurez accès aux ressources suivantes :

  • 396 nœuds de calcul accélérés quadri-GPU avec :
    • 2 processeurs Intel Cascade Lake 6248 (20 cœurs à 2,5 GHz), soit 40 cœurs par nœud
    • 192 Go de mémoire par nœud
    • 126 nœuds avec 4 GPU Nvidia Tesla V100 SXM2 16 Go (avec v100-16g)
    • 270 nœuds avec 4 GPU Nvidia Tesla V100 SXM2 32 Go (avec v100-32g)

Remarque : suite au décommissionnement de 220 nœuds 4-GPU V100 16 Go (v100-16g) le 05/02/2024, cette partition est passée de 616 nœuds à 396 nœuds.

Avec la partition gpu_p2, gpu_p2s ou gpu_p2l, vous aurez accès aux ressources suivantes :

  • 31 nœuds de calcul accélérés octo-GPU avec :
    • 2 processeurs Intel Cascade Lake 6226 (12 cœurs à 2,7 GHz), soit 24 cœurs par nœud
    • 20 nœuds à 384 Go de mémoire (avec gpu_p2 ou gpu_p2s)
    • 11 nœuds à 768 Go de mémoire (avec gpu_p2 ou gpu_p2l)
    • 8 GPU Nvidia Tesla V100 SXM2 32Go

Avec la partition gpu_p5 (extension juin 2022 et accessible uniquement avec des heures GPU A100), vous aurez accès aux ressources suivantes :

  • 52 nœuds de calcul accélérés octo-GPU avec :
    • 2 processeurs AMD Milan EPYC 7543 (32 cœurs à 2,80 GHz), soit 64 cœurs par nœud
    • 512 Go de mémoire par nœud
    • 8 GPU Nvidia A100 SXM4 80 Go

Pré et post-traitement

Avec la partition prepost, vous aurez accès aux ressources suivantes :

  • 4 nœuds de pré et post-traitement à large mémoire avec :
    • 4 processeurs Intel Skylake 6132 (12 cœurs à 3,2 GHz), soit 48 cœurs par nœud
    • 3 To de mémoire par nœud
    • 1 GPU Nvidia Tesla V100
    • un disque interne NVMe de 1,5 To

Visualisation

Avec la partition visu, vous aurez accès aux ressources suivantes :

  • 5 nœuds de visualisation de type scalaire
    • 2 processeurs Intel Cascade Lake 6248 (20 cœurs à 2,5 GHz), soit 40 cœurs par nœud
    • 192 Go de mémoire par nœud
    • 1 GPU Nvidia Quatro P6000

Compilation

Avec la partition compil, vous aurez accès aux ressources suivantes :

  • 4 nœuds de pré et post-traitement (voir ci-dessus)
  • 3 nœuds de compilation
    • 1 processeur Intel(R) Xeon(R) Silver 4114 (10 cœurs à 2.20GHz)
    • 96 Go de mémoire par nœud

Archivage

Avec la partition archive, vous aurez accès aux ressources suivantes :

  • 4 nœuds de pré et post-traitement (voir ci-dessus)

Autres caractéristiques

  • Puissance crête cumulée : 36,85 pétaflops (avant le 5/02/2024).
  • Un réseau d'interconnexion Intel Omni-PAth 100 Gb/s : 1 lien par nœud scalaire et 4 liens par nœud convergé
  • Un système de fichiers parallèle IBM Spectrum Scale (ex-GPFS)
  • Un dispositif de stockage parallèle avec des disques SSD d'une capacité de 2,5 Po (GridScaler GS18K SSD) suite à l'extension de l'été 2020.
  • Un dispositif de stockage parallèle avec des disques d'une capacité supérieure à 30 Po
  • 5 nœuds frontaux
    • 2 processeurs Intel Cascade Lake 6248 (20 cœurs à 2,5 GHz), soit 40 cœurs par nœud
    • 192 Go de mémoire par nœud

Les dernières nouvelles

Retour au sommaire


3. Demandes d'allocations d'heures sur la machine de l'IDRIS

Demandes d'allocations d'heures à l'IDRIS

Les demandes d'allocations d'heures sur Jean Zay se font via le portail eDARI commun aux 3 centres nationaux CINES, IDRIS, et TGCC : www.edari.fr.

Avant toute demande d'heure, nous vous recommandons de consulter la note GENCI détaillant les modalités d'accès aux ressources nationales. Vous y trouverez entre autres, les conditions et critères d’éligibilité pour obtenir des heures de calcul.

Quel que soit l'usage que vous envisagez (IA ou HPC) vous pouvez postuler à tout moment via un formulaire unique sur le portail eDARI, à un Accès Dynamique pour les demandes ≤ 50 kh GPU normalisées (1 heure A100 = 2 heures V100 = 2 heures GPU normalisées) / 500 kh CPU ou à un Accès Régulier pour les demandes plus importantes. Attention : il s'agit de votre demande de ressources CUMULÉE dans les trois centres nationaux. En fonction du volume de ressources demandées, votre dossier sera de type Accès Dynamique ou Accès Régulier

A partir de votre espace personnel (compte eDARI) sur le portail eDARI vous pouvez :

  • constituer un dossier d’accès dynamique ou régulier,
  • renouveler un dossier d’accès dynamique ou régulier,
  • demander l'ouverture d'un compte de calcul nécessaire pour accéder aux ressources de calcul sur Jean Zay. Plus d'information sur la page sur la gestion des comptes de l'IDRIS.

Vous trouverez une vidéo explicative concernant les demandes d'heures et d'ouverture de compte sur Jean Zay sur notre chaîne YouTube "Un œil sur l'IDRIS" :

Accès dynamiques (AD)

Les demandes de ressources de types accès dynamiques sont possibles toute l'année et sont renouvelables. Les demandes sont expertisées et validées par le directeur de l'IDRIS. L'allocation d'heures est valable un an à partir de l'ouverture du compte de calcul sur Jean Zay.

Accès réguliers (AR)

Deux appels à projets pour des accès réguliers sont lancés chaque année :

  • en janvier-février pour une attribution des heures du 1er mai de la même année au 30 avril de l'année suivante
  • et en juin-juillet pour une attribution des heures du 1er novembre de l’année courante au 31 octobre de l'année suivante.

Les nouveaux dossiers d'accès réguliers peuvent être déposés tout au long de l'année. ils sont expertisés dans le cadre de la campagne dont la date limite de clôture suit immédiatement la validation du dossier par son porteur de projet.

Les renouvellements d’accès réguliers, doivent eux, être déposés dans le cadre des campagnes avant la date de clôture pour une expertise dans le cadre de cette campagne.

Pour information, la date limite de clôture pour les appels A14 et complémentaires A13 est le 14 février 2023.

Demande au fil de l'eau

Tout au long de l'année, à partir du portail eDARI, vous avez la possibilité de faire des demandes au fil de l'eau pour tous les projets existants (accès dynamiques et accès réguliers HPC) ayant épuisé leurs quotas d'heures initial. Pour les ADs, la demande globale doit rester inférieure au seuil de 50 000 h GPU ou 500 000 h CPU.

Documentations

Deux documentations références sont à votre disposition :

  • la documentation IDRIS pour vous aider à réaliser chacune de ces formalités via le portail eDARI.
  • la note GENCI détaillant les modalités d'accès aux ressources nationales. La bible.

Retour au sommaire


4. Comment obtenir un compte ?

Gestion des comptes : ouverture et fermeture

Le compte utilisateur

Chaque utilisateur dispose d'un unique compte pouvant être associé à tous les projets auxquels il participe.

Pour plus d'information, vous pouvez consulter notre page web concernant la gestion des comptes multi-projet.

Le formulaire de gestion de compte FGC permet d'effectuer des modifications sur un compte existant : ajout/suppression de points d'accès, changement d'adresse postale, de téléphone, d'employeur, etc…

Un compte a deux états possibles :

  • ouvert ; dans ce cas vous pouvez :
    • soumettre des travaux sur la machine de calcul si l'allocation du projet n'est pas épuisée (cf. sortie de la commande idracct) ;
    • soumettre des travaux de pré/post traitement ;
  • fermé ; dans ce cas vous ne pouvez plus vous connecter sur la machine. Une notification par courriel est adressée au responsable du projet et à l'utilisateur lors de la fermeture.

Ouverture du compte d'un utilisateur

Cas d'un nouveau projet

Il n'y a pas d'ouverture de compte automatique ou implicite. Chaque utilisateur d'un projet doit donc demander :

ATTENTION : sur décision du directeur de l’IDRIS ou du Fonctionnaire de Sécurité et de Défense (FSD) du CNRS, la création d’un nouveau compte peut être soumise à autorisation ministérielle, dans le cadre de l’application de la réglementation de Protection du Potentiel Scientifique et Technique de la nation (PPST). Dans un tel cas, une communication personnelle sera transmise afin de mettre en œuvre la procédure requise, sachant que l’instruction du dossier peut demander jusqu’à deux mois.

Remarque : L'ouverture effective d'un nouveau compte sur la machine ne sera faite que lorsque la demande d'accès (régulier ou dynamique) est validée (autorisation ministérielle) et que le projet correspondant a obtenu des heures de calcul.

Vous trouverez une vidéo explicative concernant les demandes d'heures et d'ouverture de compte sur Jean Zay sur notre chaîne YouTube "Un œil sur l'IDRIS" :

Cas d'un renouvellement de projet

Les comptes existants sont automatiquement reportés d'un appel à projet à l'autre si les conditions d’éligibilité des membres du projet n'ont pas changé entre-temps (cf. la note GENCI décrivant les modalités d'accès aux ressources GENCI).

Par conséquent, si votre compte est ouvert et déjà associé au projet qui a obtenu des heures pour l'appel suivant aucune démarche n'est nécessaire.

Fermeture d'un compte utilisateur

Fermeture suite au non renouvellement du projet

Lorsqu'un projet GENCI n'est pas renouvelé, la procédure appliquée est la suivante :

  • à la date d'expiration de l'allocation d'heures du projet :
    • les heures DARI non consommées ne sont plus disponibles. Les comptes du projet ne peuvent plus soumettre de travaux sur la machine de calcul pour ce projet (plus de comptabilité d'heures pour le projet) ;
    • les comptes restent ouverts et rattachés au projet pour permettre l'accès aux données du projet pendant 6 mois ;
  • six mois après la date d'expiration de l'allocation d'heures :
    • Les comptes sont détachés du projet (plus aucun accès aux données du projet) ;
    • les données du projet (SCRATCH, STORE, WORK, ALL_CCFRSCRATCH, ALL_CCFRSTORE et ALL_CCFRWORK) seront supprimées à l'initiative de l'IDRIS dans un délai non défini ;
    • les comptes encore rattachés à un autre projet restent ouverts mais, si le projet non renouvelé était leur projet par défaut, il doivent le changer via la commande idrproj (sinon les variables (SCRATCH, STORE, WORK, ALL_CCFRSCRATCH, ALL_CCFRSTORE et ALL_CCFRWORK ne seront pas définies) ;
    • les comptes qui ne sont plus rattachés à aucun projet peuvent alors être fermés à tout moment.

La récupération des fichiers est à la charge de chaque utilisateur pendant les six mois qui suivent la fin d'un projet non renouvelé, en transférant les fichiers sur une machine locale au laboratoire de l'utilisateur ou sur les espaces disque Jean Zay d'un autre projet DARI pour les comptes multi-projets.

Ces six mois de délai permettent d'éviter de fermer inutilement les comptes d'un projet à la fin de l'allocation Ai si ce dernier n'a pas été renouvelé l'année suivante (pas de demande d'heures pour l'allocation Ai+2) mais si il a été renouvelé pour la période d'allocation Ai+3 (soit 6 mois après Ai+2).

Fermeture suite à l'expiration de l'autorisation ministérielle d'accès aux ressources informatiques de l'IDRIS

Les autorisations ministérielles ne sont accordées/valides que pour une période donnée. Lorsque votre autorisation ministérielle atteint sa date d'expiration, nous sommes dans l'obligation de fermer votre compte.

Dans ce cas, la procédure est la suivante :

  • envoi d'une première notification par courriel 90 jours avant la date d'expiration,
  • envoi d'une deuxième notification par courriel 70 jours avant la date d'expiration
  • le compte est fermé le jour de l'expiration si l'autorisation n'a pas été renouvelée.

Important : pour éviter cette fermeture, dès réception du premier courriel, l’utilisateur est invité à faire une nouvelle demande d'ouverture de compte via le portail eDARI pour que l'IDRIS puisse démarrer l'instruction d'un dossier de prolongation. En effet, l’instruction du dossier peut demander jusqu’à deux mois.

Fermeture pour raison de sécurité

Un compte peut être fermé à tout moment et sans préavis sur décision de la Direction de l'IDRIS.

Fermeture suite à une demande de détachement formulée par le chef de projet

Le chef de projet peut demander le détachement d'un compte rattaché à son projet en complétant et en nous envoyant le formulaire de gestion de compte (FGC).

Lors de cette demande, le chef de projet peut demander que les données du compte détaché et contenues dans les répertoires SCRATCH, STORE, WORK, ALL_CCFRSCRATCH, ALL_CCFRSTORE et ALL_CCFRWORK soient immédiatement supprimées ou recopiées dans les répertoires d'un autre utilisateur rattaché au même projet.

Mais suite au détachement, si le compte détaché n'est plus rattaché à aucun projet, il peut alors être fermé à tout moment.

Déclaration des machines à partir desquelles un utilisateur se connecte à l'IDRIS

Toute machine utilisée pour accéder à un calculateur de l'IDRIS doit être enregistrée dans les filtres de l'IDRIS.

Pour cela, tout utilisateur doit fournir, lors de la demande de création de compte, la liste des machines avec lesquelles il se connectera au calculateur de l'IDRIS (adresse IP et nom). Il fait cette déclaration au moment de la création de compte utilisateur à partir du portail eDARI.

La mise à jour (ajout/suppression) de la liste des machines associées à un login peut être demandée par son propriétaire à l'aide du formulaire FGC (Formulaire de gestion de compte). Ce formulaire doit être complété et signé par l’utilisateur et le responsable sécurité du laboratoire.

Attention : les adresses IP personnelles ne sont pas autorisées pour se connecter aux machines de l'IDRIS.

Responsable sécurité du laboratoire

Le responsable sécurité du laboratoire est l'interlocuteur réseau /sécurité du laboratoire vis à vis de l'IDRIS. Il doit garantir que la configuration de la machine à partir de laquelle l'utilisateur se connecte à l'IDRIS est conforme aux règles et usages les plus récents en matière de sécurité informatique et doit pouvoir fermer immédiatement l'accès de l'utilisateur à l'IDRIS en cas d'alerte de sécurité.

Son nom et ses coordonnées sont transmis à l'IDRIS par le directeur du laboratoire à l'aide du formulaire FGC (Formulaire de gestion de compte). Ce formulaire est aussi utilisé pour informer l'IDRIS en cas de changement de responsable sécurité.

Comment accéder à l'IDRIS en télétravail ou en mission ?

Pour des raisons de sécurité, nous ne pouvons pas autoriser l'accès aux machines de l'IDRIS depuis des adresses IP non institutionnelles. Il est donc par exemple exclu que vous puissiez vous connecter directement depuis votre connexion personnelle.

Utilisation d'un VPN

La solution recommandée pour accéder aux ressources de l'IDRIS lorsque vous êtes en mobilité (télétravail, mission, etc) est d'utiliser le service VPN (Virtual Private Network) de votre laboratoire/institut/université. Un VPN vous permet d'accéder à des ressources distantes comme si vous étiez connecté directement au réseau local de votre laboratoire. Il reste néanmoins nécessaire d'enregistrer l'adresse IP attribuée à votre machine par le VPN en suivant la procédure décrite plus haut.

Cette solution a l'avantage de permettre l'utilisation des services de l'IDRIS accessibles via un navigateur web (par exemple l'extranet ou des produits comme Jupyter Notebook, JupyterLab et TensorBoard)

Utilisation d'une machine de rebond

Si l'utilisation d'un VPN est impossible, il est toujours possible de vous connecter en SSH à une machine de rebond de votre laboratoire, depuis laquelle Jean Zay est accessible (ce qui implique d'avoir fait enregistrer l'adresse IP de cette machine rebond).

vous@ordinateur_portable:~$ ssh login_rebond@machine_rebond
login_rebond@machine_rebond:~$ ssh login_idris@machine_idris

Notez qu'il est possible d'automatiser le rebond via les options ProxyJump ou ProxyCommand de SSH pour pouvoir vous connecter en utilisant une seule commande (par exemple ssh -J login_rebond@machine_rebond login_idris@machine_idris).

Comment accéder ponctuellement à l'IDRIS depuis l'étranger ?

La demande d'autorisation de la machine doit être faite par le missionnaire qui complète le 2e cadre page 3 du formulaire FGC (“Cadre à remplir dans le cas d’un séjour à l’étranger”). Un accès ssh temporaire sur l'ensemble des machines du centre est alors activé.

Retour au sommaire


5. Comment se connecter pour calculer ?

Comment accéder à Jean Zay ?

Vous ne pouvez vous connecter sur Jean Zay qu'à partir d'une machine dont l'adresse IP est enregistrée dans nos filtres. Si cela n'est pas le cas, consultez la procédure de déclaration des machines disponible sur notre site Web.

Les accès interactifs à Jean Zay ne sont possibles que via le protocole ssh sur les nœuds frontaux de la machine.
Pour de plus amples informations, vous pouvez consulter la description matérielle détaillée du cluster.

Chaque utilisateur de l'IDRIS est titulaire d'un login unique pour tous les projets auxquels il participe. Ce login est associé à un mot de passe obéissant à certaines règles de sécurité. Avant de vous connecter, nous vous conseillons de consulter la page gestion de mot de passe.

Jean Zay : accès et shells

Accès aux machines

Jean Zay :

La connexion à la frontale de Jean Zay se fait par ssh depuis une machine enregistrée à l'IDRIS :

$ ssh mon_login_idris@jean-zay.idris.fr

puis saisissez votre mot de passe, si vous n'avez pas configuré de clef ssh.

Jean Zay pré et post-traitement :

La connexion interactive à la frontale de pré et post-traitement se fait par ssh depuis une machine enregistrée à l'IDRIS :

$ ssh mon_login_idris@jean-zay-pp.idris.fr

puis saisissez votre mot de passe, si vous n'avez pas configuré de clef ssh.

Connexion par clef ssh

les connexions SSH utilisant une paire de clefs SSH (clé privée / clé publique) sont possibles sur Jean Zay.

ATTENTION : nous envisageons de renforcer notre politique de sécurité concernant les accès à la machine jean-zay. Par conséquent, nous vous demandons de tester, dès maintenant, l'utilisation des certificats pour vos connexions SSH en lieu et place des paires de clés SSH habituelles (clé privée / clé publique) en respectant les procédures détaillées ici.

Connexion ssh avec certificat

Pour renforcer notre politique de sécurité concernant les accès à la machine jean-zay, nous vous demandons de tester l'utilisation des certificats pour vos connexions SSH en lieu et place des paires de clés SSH habituelles (clé privée / clé publique). La création et l'utilisation de certificats se fait en respectant les procédures détaillées ici.

Pendant la phase de test, les connexions via les clés SSH classiques resteront possibles. Merci de nous signaler tous les problèmes que vous pourriez rencontrer avec l'utilisation des certificats.

Gestion de son environnement

Votre espace $HOME est commun à toutes les frontales de Jean-Zay. Par conséquent, chaque modification de vos fichiers d'environnement personnels s'applique automatiquement sur toutes les machines.

Quels sont les shells disponibles sur les machines de l'IDRIS ?

Le Bourne Again shell (bash) est le seul interpréteur de commandes supporté comme shell de login sur les machines de l'IDRIS : l'IDRIS ne garantit pas que l'environnement utilisateur par défaut soit correctement défini avec les autres shells. Le bash est une évolution importante du Bourne shell (ancien sh) avec des fonctionnalités avancées. Cependant, d'autres interpréteurs (ksh, tcsh, csh) sont aussi installés sur les machines pour permettre l'exécution de scripts utilisant ces shells.

Quels sont les fichiers d'environnement invoqués lors du lancement d'une session login en bash ?

Le fichier .bash_profile, s'il existe dans votre HOME, est exécuté au login une seule fois pendant une session. Sinon c'est le fichier .profile qui est exécuté, s'il existe. C'est dans un de ces fichiers que l'on place les variables d'environnement, les programmes à lancer à la connexion. La définition des alias, des fonctions personnelles et le chargement de modules sont à mettre dans le fichier .bashrc qui, lui, est exécuté au lancement de chaque sous-shell.

Il est préférable de n'utiliser qu'un seul fichier d'environnement : le .bash_profile ou .profile.

Gestion des mots de passe

La connexion à Jean Zay se fait par la saisie de votre login et du mot de passe associé.

Pour votre première connexion vous devez utiliser un mot de passe initial qui sera changé immédiatement, afin de définir votre mot de passe courant.

Le mot de passe initial

Qu'est ce que le mot de passe initial ?

Le mot de passe initial est le résultat de la concaténation de deux mots de passe dans l'ordre suivant :

  1. Premièrement, le mot de passe généré aléatoirement par l'IDRIS, qui vous est envoyé par courriel lors de l'ouverture de votre compte et lors de la réinitialisation de votre mot de passe. Il reste valide 20 jours.
  2. Deuxièmement, le mot de passe initial utilisateur (8 caractères), que vous devez renseigner :
    • lors de la demande d'ouverture de votre compte (si vous êtes nouvel utilisateur) sur le portail DARI ;
    • lors d'une demande de réinitialisation du mot de passe initial dans le Formulaire de Gestion de Compte (FGC).
      Remarque : pour un utilisateur dont le compte a été créé en 2014 ou avant, il est constitué par le mot de passe initial indiqué dans la dernière lettre reçue de l'IDRIS.

Ce mot de passe initial doit être changé dans les 20 jours qui suivent la réception du courriel contenant le mot de passe généré aléatoirement (c.f. ci-dessous le paragraphe intitulé Utilisation du mot de passe initial).
Passé ce délai de 20 jours, le mot de passe initial est invalidé et un courriel vous est envoyé pour vous en informer. Il suffit de contacter par courriel pour demander la réinitialisation de la partie aléatoire du mot de passe initial, qui vous est alors renvoyée par courriel.

Le mot de passe initial est (ré)généré dans les cas suivants :

  • Réouverture de compte : un mot de passe initial est attribué à la création de chaque compte, mais aussi lors de la réouverture d'un compte fermé.
  • Oubli de votre mot de passe :
    • Si vous perdez votre mot de passe courant, contactez par courriel pour demander la réinitialisation de la partie aléatoire du mot de passe initial, qui vous est alors renvoyée par courriel ; vous aurez aussi besoin de votre mot de passe initial utilisateur.
    • Si vous avez aussi perdu votre mot de passe initial utilisateur, celui que vous avez vous-même fourni dans le FGC (ou reçu dans la lettre de l'IDRIS avant 2014), vous devez remplir dans le FGC le cadre de changement de mot de passe initial utilisateur, l'imprimer et le signer, puis le transmettre par courriel à ou l'envoyer par courrier postal. Vous recevrez alors un courriel dans lequel un nouveau mot de passe aléatoire vous sera communiqué.

Utilisation du mot de passe initial lors de la première connexion

Voici un exemple de première connexion avec entrée du mot de passe initial pour le compte login_idris sur la machine de l'IDRIS.

Attention : à la première connexion, le mot de passe initial est demandé deux fois. Une première fois pour établir la connexion sur la machine et une seconde fois par la procédure de changement du mot de passe qui est alors automatiquement exécutée.

Recommandation : comme vous êtes obligé de changer le mot de passe initial à votre première connexion, préparez soigneusement un autre mot de passe avant de commencer la procédure (c.f. Règles de constitution ci-dessous).

$ ssh login_idris@machine_idris.idris.fr                                                         
login_idris@machine_idris password:   ## Première demande du MOT DE PASSE INITIAL ##
Last login: Fri Nov 28 10:20:22 2014 from machine_idris.idris.fr
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user login_idris.
Enter login(    ) password:           ## Seconde demande du MOT DE PASSE INITIAL ##
New password:                         ## Entrez le nouveau mot de passe choisi ##
Retype new password:                  ## Confirmez le nouveau mot de passe choisi ##
     password information changed for login_idris
passwd: all authentication tokens updated successfully.
Connection to machine_idris closed.

Remarque : le fait d'être immédiatement déconnecté après que le nouveau mot de passe choisi ait été accepté (all authentication tokens updated successfully) est normal.

Vous pouvez maintenant vous reconnecter avec le nouveau mot de passe courant que vous venez d'enregistrer.

Le mot de passe courant

Une fois choisi correctement, sa durée de validité est d'un an (365 jours).

Comment changer votre mot de passe courant ?

Vous pouvez changer votre mot de passe en utilisant la commande UNIX passwd sur la frontale de la machine. Le changement est immédiat et effectif sur tous les nœuds de la machine. La validité de ce nouveau mot de passe courant est aussi d'un an (365 jours).

Règles de constitution des mots de passe courants :

  • Ils doivent comporter un minimum de 12 caractères.
  • Ces caractères doivent appartenir à au moins 3 familles de caractères parmi les 4 suivantes :
    • majuscules,
    • minuscules,
    • chiffres,
    • caractères spéciaux.
  • Un mot de passe ne doit pas non plus contenir le même caractère plus de deux fois consécutives.
  • Il ne doit pas être composé de mots issus de dictionnaires, ni de combinaisons triviales (1234, azerty, …).

Remarques :

  • Un nouveau mot de passe n'est pas modifiable pendant 5 jours. Il est toujours possible, en cas de nécessité, de contacter l'Assistance pour demander une remise à zéro au mot de passe initial.
  • Un historique des 6 derniers mots de passe est conservé, afin de rejeter un mot de passe utilisé récemment.

Oubli ou expiration du mot de passe courant

Si vous avez oublié votre mot de passe courant ou si, malgré les courriels d'avertissement, vous n'avez pas changé votre mot de passe courant avant sa date d'expiration (un an après le dernier changement) alors votre mot de passe sera invalidé.

Vous devez alors contactez par courriel pour demander la réinitialisation de la partie aléatoire du mot de passe initial, qui vous est alors renvoyée par courriel.

Remarque : vous aurez aussi besoin de la partie utilisateur de votre mot de passe initial pour pouvoir vous connecter sur la machine après cette réinitialisation. En effet, vous aurez à suivre la procédure correspondant à une utilisation du mot de passe initial lors de la première connexion.

Compte bloqué suite à 15 connexions infructueuses :

Si votre compte est bloqué suite à 15 tentatives infructueuses, vous devez contacter l'Assistance de l'IDRIS.

Rappel sur la sécurité de votre compte

Ne communiquez jamais votre mot de passe en clair dans un message électronique, même ceux adressés à l'IDRIS (Assistance, Gestion des Utilisateurs, etc.) et ce, quel qu'en soit le motif : nous serions alors obligés de générer immédiatement un nouveau mot de passe initial, afin d'inhiber le mot de passe courant que vous auriez ainsi publié et de nous assurer que vous en définissiez un nouveau dès la connexion suivante.

Chaque compte est strictement personnel. L'accès à un compte par une personne non autorisée entraîne dès sa découverte des mesures de protection immédiates allant jusqu'au blocage du compte.
En tant que titulaire d'un compte, vous êtes tenus de prendre quelques précautions élémentaires de bon sens :

  • prévenir immédiatement l'IDRIS de toute tentative de violation de son compte,
  • respecter les recommandations sur l'utilisation des clés ssh,
  • protéger ses fichiers en limitant les droits d'accès UNIX,
  • ne pas utiliser de mot de passe trop simple,
  • protéger son poste de travail personnel.

Retour au sommaire


6. Gestion de son compte et de son environnement

Comment modifier mes données personnelles ?

La modification de vos données personnelles se fait via l'interface Web Extranet.

  • Pour ceux qui n'ont pas de mot de passe Extranet ou qui l'ont perdu, les modalités d'accès sont décrites sur cette page.
  • Pour ceux qui ont leur mot de passe, cliquez sur Extranet, connectez vous avec vos identifiants puis ⇒ Votre compte ⇒ Vos données ⇒ Coordonnées.

Les seules données modifiables en ligne sont :

  • le courriel ;
  • le téléphone ;
  • le fax.

La modification de vos coordonnées postales se fait en nous envoyant le formulaire de gestion de compte FGC.

Quels espaces disques sont disponibles sur Jean Zay ?

Pour chaque projet, 5 espaces disques distincts sont disponibles sur Jean Zay : HOME, WORK, SCRATCH/JOBSCRATCH, STORE et DSDIR.

Vous trouverez les explications concernant ces espaces sur notre site web, à la page Espaces disques.
Attention : HOME, WORK et STORE sont soumis à des quotas !

Si votre login est rattaché à plusieurs projets, la commande IDRIS idrenv vous affichera toutes les variables d'environnement référençant tous les espaces disques de tous vos projets. Ces variables vous permettent d'accéder aux données de vos divers projets à partir de n'importe lequel d'entre eux.

Choisissez votre espace de stockage selon vos besoins (données permanentes, semi-temporaires, temporaires, gros ou petits fichiers, etc …).

Comment demander une extension d'espace disque ou d'inodes ?

Si votre utilisation de l'espace disque est conforme à son usage et si vous ne pouvez pas supprimer ou déplacer des données contenues dans cet espace, alors votre chef de projet peut effectuer une demande argumentée d'augmentation de quota (espace et/ou inodes) sur l'extranet de l'IDRIS.

Comment connaitre le nombre d'heures de calcul consommées par projet ?

Il vous suffit d'utiliser la commande IDRIS idracct pour connaitre les heures consommées par chaque collaborateur du projet ainsi que le pourcentage de l'allocation d'heures et le total consommés.

Notez que les informations retournées par cette commande ne sont mises à jour qu'une fois par jour (comme indiqué en première ligne de la sortie de la commande).

Si vous avez plusieurs projets à l'IDRIS, cette commande vous donnera les consommations CPU et/ou GPU de tous les projets auxquels votre login est rattaché.

Que faire lorsque je n'ai bientôt plus d'heures de calcul ?

Il est possible d'effectuer des demandes d'heures supplémentaires :

  • soit une demande dite “au fil de l'eau” qui peut se faire tant que votre projet AD ou IA dispose d'une allocation d'heures en cours.
  • soit une demande à mi-parcours de votre allocation d'Accès Régulier dans le cas d'un AR pour obtenir un complément d'heures pour une période de six mois.

Ces demandes, qui doivent être justifiées, sont à effectuer via le portail eDARI comme indiqué dans notre page web traitant des demandes d'allocations d'heures.

Comment puis-je savoir si la machine est indisponible ?

La machine peut être indisponible en raison d'une maintenance préprogrammée ou d'un problème technique survenu subitement. Dans les deux cas, l'information est disponible sur la page d'accueil du site Web de l'IDRIS via le menu déroulant intitulé “Espace utilisateurs” puis la rubrique "Disponibilité des machines".

Les utilisateurs de l'IDRIS peuvent également s'inscrire à la liste de diffusion “info-machines” via l'Extranet. .

Comment récupérer des fichiers que j'ai malencontreusement détruits ?

Il n'est possible de récupérer des fichiers détruits que dans votre HOME et que dans les WORK de vos divers projets. En effet, seuls les espaces HOME et WORK sont sauvegardés via des snapshots dont le mécanisme est détaillé sur la page Espaces disques de notre site Web.

Pour des raisons de trop grande taille, ni le SCRATCH (espace semi-temporaire), ni le STORE (espace de stockage) ne sont sauvegardés.

Puis-je demander à l'IDRIS le transfert des fichiers d'un compte sur un autre compte ?

L'IDRIS considère que les données sont liées à un projet. Par conséquent, pour que le transfert soit possible, il faut que :

  1. les 2 comptes (le propriétaire et le destinataire) soient tous les deux rattachés au même projet ;
  2. que ce soit le chef du projet qui fasse la demande, par fax signé ou par courriel à l'assistance () en précisant bien :
    • la machine concernée ;
    • le compte source et le compte destinataire ;
    • la liste des fichiers et/ou répertoires à transférer.

Puis-je récupérer des fichiers sur un support externe ?

Il n'est plus possible de demander le transfert de ses fichiers sur un support externe.

Retour au sommaire


7. Présentation des espaces disques

Jean Zay : les espaces disques

Pour chaque projet, quatre espaces disques distincts sont accessibles : HOME, WORK et SCRATCH/JOBSCRATCH, enfin le STORE.

Chaque espace a des caractéristiques spécifiques adaptées à son utilisation, qui sont décrites ci-dessous. Les chemins d'accès à ces espaces sont stockés dans cinq variables d'environnement du shell : $HOME, $WORK, $SCRATCH et $JOBSCRATCH, enfin $STORE.

Vous pouvez connaître l'occupation des différents espaces disques avec les commandes IDRIS “ idr_quota” ou avec la commande Unix du (disk usage). Le retour des commandes “idr_quota” est immédiat mais n'est pas une information en temps réel (les commandes idr_quota_user et idr_quota_project sont actualisées une fois par jour et la commande idrquota toutes les 30 minutes). La commande du retourne une information en temps réél mais son exécution peut prendre beaucoup de temps selon la taille du répertoire concerné.

Pour la gestion spécifique de bases de données sur Jean Zay, une page dédiée a été rédigée en complément de celle-ci : Gestion de bases de données.

Le HOME

$HOME : c'est le répertoire d'accueil lors d'une connexion interactive. Cet espace est destiné aux fichiers de petite taille, très souvent utilisés, comme les fichiers d'environnement du shell, les utilitaires, éventuellement les sources et les bibliothèques quand leur taille est raisonnable. Cet espace a une taille limitée (en espace comme en nombre de fichiers).
Voici ses caractéristiques :

  • le HOME est un espace permanent ;
  • il est sauvegardé via des snapshots : voir la rubrique intitulée Les sauvegardes ci-dessous ;
  • il est prévu pour accueillir des fichiers de petite taille ;
  • dans le cas d'un login multi-projets, le HOME est unique ;
  • il est soumis à des quotas par utilisateur volontairement assez faibles (3 Gio par défaut) ;
  • il est accessible en interactif ou dans un travail batch via la variable $HOME :
    $ cd $HOME
  • c'est le répertoire d'accueil lors d'une connexion interactive.

Remarque : l'espace HOME est aussi référencé via la variable d'environnement CCFRHOME pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRHOME

Le WORK

$WORK : c'est un espace de travail et de stockage permanent utilisable en batch. On y stocke généralement les fichiers de taille importante qui servent lors des exécutions en batch : les fichiers sources volumineux et les bibliothèques, les fichiers de données, les exécutables, les fichiers de résultats, les scripts de soumission.
Voici ses caractéristiques :

  • le WORK est un espace permanent ;
  • il est sauvegardé via des snapshots : voir la rubrique intitulée Les sauvegardes ci-dessous ;
  • il est prévu pour accueillir des fichiers de taille importante ;
  • dans le cas d'un login multi-projet, un WORK par projet est créé ;
  • il est soumis à des quotas par projet ;
  • il est accessible en interactif ou dans un travail batch ;
  • il est composé de 2 parties :
    • une partie propre à chaque utilisateur ; on y accède par la commande :
      $ cd $WORK
    • une partie commune au projet auquel l'utilisateur appartient, dans lequel on peut mettre des fichiers destinés à être partagés; on y accède par la commande :
      $ cd $ALL_CCFRWORK 
  • le WORK est un espace disque GPFS dont la bande passante est d'environ 100 Go/s en écriture et en lecture. Celle-ci peut être ponctuellement saturée en cas d'utilisation exceptionnellement intensive.

Remarque : l'espace WORK est aussi référencé via la variable d'environnement CCFRWORK pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRWORK

Recommandations d'utilisation :

  • les travaux batch peuvent s'exécuter dans le WORK ; cependant, plusieurs de vos travaux pouvant s'exécuter en même temps, il vous faut gérer l'unicité de vos répertoires d'exécution ou de vos noms de fichiers.
  • De plus, il est soumis à des quotas (par projet) qui peuvent stopper brutalement votre exécution s'ils sont atteints. Ainsi, dans le WORK, il faut tenir compte non seulement de votre propre activité, mais aussi de celle de vos collègues de projet. Pour ces raisons, on pourra alors être amené à lui préférer le SCRATCH ou le JOBSCRATCH pour l'exécution de ses travaux batch.

Le SCRATCH/JOBSCRATCH

$SCRATCH : c'est un espace de travail et de stockage semi-temporaire utilisable en batch, la durée de vie des fichiers y est limitée à 30 jours. On y stocke généralement les fichiers de taille importante qui servent lors des exécutions en batch : les fichiers de données, les fichiers de résultats ou de reprise de calcul (restarts). Une fois le post-traitement effectué pour réduire le volume de données, il faut penser à recopier les fichiers significatifs dans le WORK pour ne pas les perdre après 30 jours, ou dans le STORE pour un archivage à long terme.
Voici ses caractéristiques :

  • le SCRATCH est un espace semi-permanent : la durée de vie des fichiers est de 30 jours ;
  • il n'est pas sauvegardé ;
  • il est prévu pour accueillir des fichiers de taille importante ;
  • il est soumis à des quotas de sécurité très larges :
    • des quotas disque par projet de l'ordre d'1/10ième de l'espace disque total
    • et des quotas inode par projet de l'ordre de 150 millions de fichiers et répertoires;
  • il est accessible en interactif ou dans un travail batch ;
  • il est composé de 2 parties :
    • une partie propre à chaque utilisateur ; on y accède par la commande :
      $ cd $SCRATCH
    • une partie commune au projet auquel l'utilisateur appartient, dans lequel on peut mettre des fichiers destinés à être partagés; on y accède par la commande :
      $ cd $ALL_CCFRSCRATCH 
  • dans le cas d'un login multi-projet, un SCRATCH par projet est créé ;
  • le SCRATCH est un espace disque GPFS dont la bande passante est d'environ 500 Go/s en écriture et en lecture.

Remarque : l'espace SCRATCH est aussi référencé via la variable d'environnement CCFRSCRATCH pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRSCRATCH

$JOBSCRATCH : c'est le répertoire temporaire d'exécution propre à un unique travail batch.
Voici ses caractéristiques :

  • le JOBSCRATCH est un répertoire temporaire : la durée de vie des fichiers est celle du travail batch ;
  • il n'est pas sauvegardé ;
  • il est prévu pour accueillir des fichiers de taille importante ;
  • il est soumis à des quotas de sécurité très larges :
    • des quotas disque par projet de l'ordre d'1/10ième de l'espace disque total
    • et des quotas inode par projet de l'ordre de 150 millions de fichiers et répertoires;
  • il est créé automatiquement lorsqu'un travail batch démarre : il est donc unique à chaque travail ;
  • il est détruit automatiquement à la fin de ce travail : il est donc indispensable de recopier explicitement les fichiers importants sur un autre espace disque (le WORK ou le SCRATCH) avant la fin du travail ;
  • le JOBSCRATCH est un espace disque GPFS dont la bande passante est d'environ 500 Go/s en écriture et en lecture.
  • Pendant toute la durée d'exécution d'un travail batch, le JOBSCRATCH correspondant est accessible depuis la frontale Jean Zay via son numéro de job JOBID (voir la sortie de la commande squeue) et la commande suivante :
    $ cd /gpfsssd/jobscratch/JOBID

Recommandations d'utilisation :

  • On peut voir le JOBSCRATCH comme l'ancien TMPDIR.
  • Le SCRATCH peut être vu comme un WORK semi-temporaire, mais avec les performances d’entrées/sortie maximales offertes à l'IDRIS, au prix d'une durée de vie des fichiers de 30 jours.
  • Les caractéristiques semi-temporaires du SCRATCH permettent d'y stocker de gros volumes de données entre deux ou plusieurs jobs qui s’enchainent sur une durée limitée à quelques semaines : cet espace n'est pas “purgé” après chaque job.

Le STORE

$STORE : c'est l'espace d'archivage, de stockage à long terme de l'IDRIS. On y stocke généralement les fichiers de taille très importante, fruits du tar d'une arborescence de fichiers résultats de calcul, après post-traitement. C'est un espace qui n'a pas pour vocation d’être accédé ou modifié quotidiennement, mais de préserver dans le temps de très gros volumes de données avec une consultation épisodique.
Voici ses caractéristiques :

  • le STORE est un espace permanent ;
  • il n'est pas sauvegardé ;
  • nous déconseillons son accès systématique en écriture dans un travail batch ;
  • il est prévu pour accueillir des fichiers de taille très importante : la taille maximum est de 10 Tio par fichier et la taille minimum conseillée de 250 Mio (ratio taille disque / nombre d'inodes);
  • dans le cas d'un login multi-projet, un STORE par projet est créé ;
  • il est soumis à des quotas par projet avec un faible nombre d'inodes, mais un très grand espace ;
  • il est composé de 2 parties :
    • une partie propre à chaque utilisateur ; on y accède par la commande :
      $ cd $STORE
    • une partie commune au projet auquel l'utilisateur appartient, dans lequel on peut mettre des fichiers destinés à être partagés; on y accède par la commande :
      $ cd $ALL_CCFRSTORE

Remarque : l'espace STORE est aussi référencé via la variable d'environnement CCFRSTORE pour respecter une nomenclature commune avec les autres centres de calcul nationaux (CINES, TGCC) :

$ cd $CCFRSTORE

Recommandations d'utilisation :

  • Le STORE n'a pas de principe de limitation de la durée de vie des fichiers.
  • Comme il s'agit d'un espace d'archive, il n'est pas conçu pour des accès fréquents.

Le DSDIR

$DSDIR : l'espace disque contenant les bases de données publiques volumineuses (en taille ou en nombre de fichiers) nécessaires à l'utilisation d'outils de l'Intelligence Artificielle. Ces bases de données sont visibles par l'ensemble des utilisateurs de Jean Zay.

Si vous exploitez de telles bases de données et que celles-ci ne se trouvent pas dans l'espace $DSDIR, l'IDRIS les téléchargera et les installera dans cet espace disque à votre demande.

Vous trouverez la liste des bases de données disponibles actuellement sur la page : Jean Zay : jeux de données et modèles disponibles dans l'espace de stockage $DSDIR.

Si votre base de données est personnelle ou sous licence trop restrictive, il vous faudra prendre en charge vous-même sa gestion sur les espaces disques de votre projet, comme décrit dans la page Gestion de bases de données.

Tableau récapitulatif des principaux espaces disques

Espace Capacité par défaut Spécificité Usage
$HOME 3 Go et 150 kinodes
par utilisateur
- Espace sauvegardé
- Accueil de connexion
- Stockage de fichiers de configuration
et de petits fichiers
$WORK 5 To (*) et 500 kinodes
par projet
- Espace sauvegardé
- Stockage sur disques rotatifs
(100 Go/s en lecture/écriture)
- Stockage des sources et des
données d'entrée/sortie
- Exécution en batch ou interactif
$SCRATCH Quotas de sécurité très larges
2,5 Po partagés
par tous les utilisateurs
- Espace non sauvegardé
- Stockage SSD
(500 Go/s en lecture/écriture)
- Durée de vie des fichiers inutilisés :
30 jours
(inutilisés = non lus, non modifiés)
- Stockage des données
d'entrée/sortie volumineuses
- Exécution en batch ou interactif
- Performances optimales pour
les opérations de lecture/écriture
$STORE 50 To (*) et 100 kinodes (*)
par projet
- Espace non sauvegardé - Stockage d'archives sur du long terme
(durée de vie du projet)
(*) les quotas par projet peuvent être augmentés sur demande du chef de projet ou de son suppléant via l'interface Extranet ou sur demande auprès du support utilisateurs.

Les sauvegardes

Les espaces $HOME et $WORK sont sauvegardés régulièrement via un mécanisme de snapshots : ce sont des instantanés de ces arborescences vous permettant de récupérer un fichier ou un répertoire que vous auriez corrompu ou effacé par erreur.

Tous les instantanés disponibles SNAP_YYYYMMDD, où YYYYMMDD correspond à la date de sauvegarde, sont visibles depuis tous les répertoires de votre HOME et de votre WORK via la commande :

$ ls .snapshots
SNAP_20191022  SNAP_20191220  SNAP_20200303  SNAP_20200511
SNAP_20191112  SNAP_20200127  SNAP_20200406  SNAP_20200609 

Remarque : dans cet exemple, vous noterez la présence de 8 sauvegardes. Pour récupérer un fichier à la date du 9 juin 2020, il vous suffit de sélectionner le répertoire SNAP_20200609.

Attention : le répertoire .snapshots n'est pas visible avec la commande ls -a donc ne soyez pas surpris de ne pas le voir. Seul son contenu peut être consulté.

Si, par exemple, vous désirez récupérer un fichier qui était dans le sous répertoire $WORK/MY_DIR, il vous suffit de suivre la procédure suivante :

  1. Vous vous placez dans le répertoire du fichier initial :
    $ cd $WORK/MY_DIR
  2. Vous retrouvez la sauvegarde qui vous intéresse via la commande ls :
    $ ls .snapshots
    SNAP_20191022  SNAP_20191220  SNAP_20200303  SNAP_20200511
    SNAP_20191112  SNAP_20200127  SNAP_20200406  SNAP_20200609 
  3. Vous pouvez alors consulter le contenu de votre répertoire $WORK/MY_DIR tel qu'il était à la date du 9 juin 2020 par exemple, avec la commande :
    $ ls -al .snapshots/SNAP_20200609 
    total 2
    drwx--S--- 2 login  prj  4096 oct.  24  2019 .
    dr-xr-xr-x 2 root  root 16384 janv.  1  1970 ..
    -rw------- 1 login  prj 20480 oct.  24  2019 my_file 
  4. Et finalement, vous pouvez récupérer le fichier tel qu'il était à la date du 9 juin 2020, avec la commande cp :
    1. en écrasant le fichier initial $WORK/MY_DIR/my_file (notez le “.” en fin de commande) :
      $ cp .snapshots/SNAP_20200609/my_file . 
    2. ou en renommant la copie $WORK/MY_DIR/my_file_20200609 pour ne pas écraser le fichier initial $WORK/MY_DIR/my_file:
      $ cp .snapshots/SNAP_20200609/my_file  my_file_20200609 

Remarques :

  • La commande ls -l .snapshots/SNAP_YYYYMMDD vous indique toujours le contenu du répertoire dans lequel vous êtes mais à la date du DD/MM/YYYY.
  • Vous pouvez ajouter l'option -p à la commande cp pour conserver la date et les droits d'accès Unix du fichier récupéré :
    $ cp -p .snapshots/SNAP_20200609/my_file . 
    $ cp -p .snapshots/SNAP_20200609/my_file  my_file_20200609 
  • Cette procédure s'applique de la même façon pour récupérer des fichiers de votre HOME.

Jean Zay : quotas disques et commandes de visualisation des taux d'occupation

Principe

Les quotas garantissent un accès équitable aux ressources disques. Ils évitent qu'un groupe d'utilisateurs ne consomme tout l'espace et n'empêche les autres groupes de travailler. À l'IDRIS, les quotas limitent à la fois la quantité d'espace disque et le nombre de fichiers (inodes). Ces limites s'appliquent par utilisateur pour votre HOME (un HOME par utilisateur même si votre login est rattaché à plusieurs projets) et par projet pour le WORK et le STORE (autant de WORK et de STORE que de projets pour un même utilisateur).

Vous pouvez consulter l'occupation de vos espaces disques en utilisant l'une des deux commandes présentées dans cette page :

  • idr_quota_user pour une vue de votre utilisation personnelle en tant qu'utilisateur ;
  • idr_quota_project pour une vue d'ensemble de votre projet et de la consommation de chacun de ses membres.

Vous avez également toujours accès à la commande idrquota. Il s'agit de la première commande de visualisation de quotas qui avait été déployée sur Jean Zay, et dont idr_quota_user et idr_quota_project sont une évolution.

Dépassement des quotas

Lorsqu'un utilisateur ou un projet est en dépassement de quota, aucun email d'avertissement n'est envoyé. Vous êtes néanmoins informé par des messages d'erreur du type Disk quota exceeded lorsque vous manipulez des fichiers dans l'espace disque concerné.

Lorsque l'un des quotas est atteint, vous ne pouvez plus créer de fichiers dans l'espace disque concerné. Cela peut donc perturber les travaux en cours d'exécution s'ils ont été lancés depuis cet espace.

Attention, éditer un fichier en étant en limite de quota disque peut ramener sa taille a zéro, donc en effacer le contenu.

Lorsque vous êtes bloqués ou en passe de l’être :

  • Essayez de faire du ménage dans l'espace disque concerné en supprimant les fichiers devenus obsolètes.
  • Archivez les répertoires auxquels vous n'accédez plus ou rarement.
  • Déplacez vos fichiers dans un autre espace en fonction de leurs usages (voir la page sur les espaces disques).
  • Le chef de projet ou son suppléant peuvent demander une augmentation des quotas de l'espace STORE via l'interface Extranet.

Remarques:

  1. Il faut penser à vérifier les espaces disques communs $ALL_CCFRWORK et $ALL_CCFRSTORE.
  2. Une cause récurrente de dépassement de quota est l'utilisation d'environnements Anaconda personnels. Veuillez vous référer à la page Environnement Python personnel pour connaître les bonnes pratiques sur Jean Zay.

La commande idr_quota_user

Par défaut, la commande idr_quota_user renvoie votre occupation personnelle en tant qu'utilisateur pour l'ensemble des espaces disques de votre projet actif. Par exemple, si votre projet actif est abc, vous verrez une sortie similaire à celle-ci :

$ idr_quota_user
 HOME
INODE:   |██-------------------------------| U: 9419/150000  6.28%                                     
STORAGE: |████████████████████████████████-| U: 2.98 GiB/3.00 GiB  99.31%                              
 
ABC STORE
INODE:   |---------------------------------| U: 1/100000  0.00%           G: 12/100000  0.01%          
STORAGE: |---------------------------------| U: 4.00 KiB/50.00 TiB  0.00% G: 48.00 KiB/50.00 TiB  0.00%
 
ABC WORK
INODE:   |███▒▒▒---------------------------| U: 50000/500000 10.00%       G: 100000/500000  20.00%        
STORAGE: |██████████▒▒▒▒▒▒▒▒▒▒-------------| U: 1.25 TiB/5.00 TiB  25.00% G: 2.5 TiB/5.00 TiB 50.00%
 
The quotas are refreshed daily. All the information is not in real time and may not reflect your real
storage occupation.

Sur cet exemple de sortie, votre occupation personnelle est représentée par la barre noire et quantifiée sur la droite après la lettre U (pour User). Votre occupation personnelle est aussi comparée à l'occupation globale du projet qui est représentée par la barre grise (sur cet exemple de sortie). et quantifiée après la lettre G (pour Groupe).

Notez que les couleurs peuvent être différentes suivant les paramètres et/ou le type de votre terminal.

Vous pouvez affiner l'information retournée par la commande idr_quota_user en ajoutant un ou plusieurs des arguments suivants :

  • --project def pour afficher l'occupation d'un projet différent de votre projet actif (ici def) ;
  • --all-projects pour afficher l'occupation de l'ensemble des projets auxquels vous êtes rattaché ;
  • --space home work pour afficher l'occupation d'un (ou plusieurs) espace(s) disque(s) en particulier (ici le HOME et le WORK).

L'aide complète de la commande idr_quota_user est accessible en lançant :

$ idr_quota_user -h

La commande idr_quota_project

Par défaut, la commande idr_quota_project renvoie l'occupation disque de chaque membre de votre projet actif pour l'ensemble des espaces disques associés au projet. Par exemple, si votre projet actif est abc, vous verrez une sortie similaire à celle-ci :

$ idr_quota_project
PROJECT: abc SPACE: WORK
PROJECT USED INODE: 34373/500000 6.87%
PROJECT USED STORAGE: 1.42 GiB/5.00 TiB 0.03%
┌─────────────────┬─────────────────┬─────────────────┬─────────────────┬──────────────────────┐
│      LOGIN      │     INODE ▽     │     INODE %     │     STORAGE     │      STORAGE %       │
├─────────────────┼─────────────────┼─────────────────┼─────────────────┼──────────────────────┤
│      abc001     │            29852│            5.97%│       698.45 MiB│                 0.01%│
│      abc002     │             4508│            0.90%│       747.03 MiB│                 0.01%│
│      abc003     │                8│            0.00%│         6.19 MiB│                 0.00%│
│      abc004     │                1│            0.00%│           0.00 B│                 0.00%│
│      abc005     │                1│            0.00%│           0.00 B│                 0.00%│
└─────────────────┴─────────────────┴─────────────────┴─────────────────┴──────────────────────┘
PROJECT: abc SPACE: STORE
PROJECT USED INODE: 13/100000 0.01%
PROJECT USED STORAGE: 52.00 KiB/50.00 TiB 0.00%
┌─────────────────┬─────────────────┬─────────────────┬─────────────────┬──────────────────────┐
│      LOGIN      │     INODE ▽     │     INODE %     │     STORAGE     │      STORAGE %       │
├─────────────────┼─────────────────┼─────────────────┼─────────────────┼──────────────────────┤
│      abc001     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc002     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc003     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc004     │                2│            0.00%│         8.00 KiB│                 0.00%│
│      abc005     │                1│            0.00%│         4.00 KiB│                 0.00%│
└─────────────────┴─────────────────┴─────────────────┴─────────────────┴──────────────────────┘
The quotas are refreshed daily. All the information is not in real time and may not reflect your real 
storage occupation.

Pour chaque espace disque, un résumé de l'occupation globale est affiché, suivi d'un tableau détaillé de l'occupation de chaque membre du projet.

Vous pouvez affiner l'information retournée par la commande idr_quota_project en ajoutant un ou plusieurs des arguments suivants :

  • --project def pour afficher l'occupation d'un projet différent de votre projet actif (ici def) ;
  • --space work pour afficher l'occupation d'un (ou plusieurs) espace(s) disque(s) en particulier (ici le WORK) ;
  • --order storage pour trier les informations dans l'ordre décroissant des valeurs d'une colonne donnée (ici la colonne STORAGE)

L'aide complète de la commande idr_quota_project est accessible en lançant :

$ idr_quota_project -h

La commande idrquota

La commande ​​idrquota​ permet une visualisation synthétique des taux d'occupation des différents espaces disques.

  • L'​option ​-m​ permet de récupérer les informations pour le ​HOME​ (quotas par utilisateur).
  • L'​option ​-s​ permet de récupérer les informations pour le ​STORE​ (quotas par projet).
  • L'​option ​-w​ permet de récupérer les informations pour le ​WORK​ (quotas par projet).
  • L'​option ​-p <PROJET>​ permet de spécifier le projet désiré si votre login est rattaché à plusieurs projets. Elle doit être combinée avec l'option ​-w ou -s​ mais pas avec l'​option ​-m​.
  • L'​option ​-h​ permet d'​obtenir l'aide de la commande.

Voici deux exemples de visualisation des quotas du HOME et du WORK pour le projet actif (choix par défaut) avec idrquota :

$ idrquota -m
HOME: 2 / 3 Gio (58.24%)
HOME: 23981 / 150000 inodes (15.99%)
$ idrquota -w
WORK: 1293 / 5120 Gio (25.26%)
WORK: 431228 / 500000 inodes (86.25%)

Voici deux exemples de visualisation des quotas du STORE et du WORK pour le projet abc avec idrquota :

$ idrquota -p abc -s
STORE: 7976 / 58368 Gio (13.67%)
STORE: 21900 / 110000 inodes (19.91%)
$ idrquota -p abc -w
WORK: 2530 / 5000 Gio (50.60%)
WORK: 454248 / 550000 inodes (82.59%)

Remarques générales

  • Les projets auxquels vous êtes rattaché correspondent aux groupes UNIX listés par la commande idrproj.
  • Les quotas ne sont pas relevés en temps réel et ne représentent peut-être pas l'état actuel d'occupation de vos espaces disques. La commande idrquota est actualisée toutes les 30 minutes alors que les commandes idr_quota_user et idr_quota_project sont actualisées tous les matins.
  • Pour connaître en temps réél la volumétrie en octet et inodes d'un répertoire donné my_directory, vous pouvez exécuter les commandes du -hd0 my_directory et du -hd0 --inodes my_directory, respectivement. Contrairement aux commandes idr_quota, le temps d'exécution des commandes du peut être important, relativement à la taille du répertoire.
  • Pour le WORK et le STORE, les taux d'occupation affichés englobent à la fois l'occupation de l'espace personnel ($WORK ou $STORE) et l'occupation de l'espace commun ($ALL_CCFRWORK ou $ALL_CCFRSTORE).

Retour au sommaire


8. Commandes de transferts de fichiers

Les transferts de fichiers par la commande bbftp

Pour transférer des fichiers volumineux de l'IDRIS vers votre laboratoire, nous vous conseillons d'utiliser BBFTP qui est un logiciel optimisé pour le transfert de fichiers.

Toutes les informations sur l'utilisation de la commande bbftp se trouvent notre site Web.

Les transferts de fichiers via le réseau CCFR

Comment transférer des données entre les 3 centres nationaux (réseau CCFR) ?

Présentation

Le réseau des Centres de Calcul Français (CCFR) est un réseau dédié à très haut débit, qui interconnecte les trois centres de calcul nationaux CINES, IDRIS et TGCC. Ce réseau est mis à la disposition des utilisateurs pour faciliter les transferts de données entre les centres nationaux. Sont actuellement raccordées sur ce réseau les machines Joliot-Curie au TGCC, Jean Zay à l'IDRIS et Adastra au CINES.

L'utilisation de ce réseau implique que vous ayez des logins (différents pour chaque centre) dans au moins deux des trois centres et qu'ils soient autorisés à accéder au réseau CCFR dans les centres concernés.

Remarques :

  • Pour votre login IDRIS, la demande d'accès au réseau CCFR peut se faire :
    • lors de votre demande de création de compte à partir du portail eDARI,
    • ou en remplissant le cadre intitulé “Accéder au réseau CCFR” du formulaire de gestion de compte (FGC) et l'envoyer à à partir d'une adresse institutionnelle. Notez que cette procédure requiert les signatures de l'utilisateur et du responsable sécurité de votre laboratoire.
  • De plus, tous les nœuds de Jean Zay ne sont pas connectés à ce réseau. Pour l'utiliser depuis l'IDRIS, vous pouvez utiliser les frontales jean-zay.idris.fr et jean-zay-pp.idris.fr.

Pour plus d'information, n'hésitez pas à contacter l'assistance ().

Transfert de données via CCFR

Le transfert de données entre les machines des centres via le réseau CCFR constitue le service principal pour ce réseau. Une commande wrapper ccfr_cp accessible par l'intermédiaire d'un module est fournie pour simplifier les usages :

$ module load ccfr

Cette commande ccfr_cp récupère automatiquement les informations de connexion à la machine spécifiée (nom de domaine, port spécifique) et détecte les possibilités d’authentification. Par défaut, la commande optera pour une authentification basique, utilisant les modalités traditionnelles en vigueur sur la machine ciblée.
La commande ccfr_cp est basée sur l’outil rsync, configuré pour faire transiter les données avec le protocole SSH. La copie réalisée est récursive et préserve les liens symboliques, les droits d’accès ainsi que les dates de modification des fichiers.
Le détail de la commande, ainsi que la liste des machines accessibles sur le réseau CCFR sont disponibles en précisant l’option -h à la commande ccfr_cp.

Pour des transferts depuis jean-zay vers les machines du CINES et du TGCC, vous pouvez utiliser des commandes similaires à celles-ci :

$ module load ccfr
$ ccfr_cp /path/to/datas/on/jean-zay login_cines@adastra:/path/to/directory/on/adastra:
$ ccfr_cp /path/to/datas/on/jean-zay login_tgcc@irene:/path/to/directory/on/irene:

Pour effectuer des transferts depuis Adastra, la procédure est similaire excepté que vous devez utiliser la machine adastra-ccfr.cines.fr (accessible depuis adastra.cines.fr) comme indiqué sur la documentation du CINES.
Pour effectuer des transferts depuis Irene, la procédure est aussi similaire et peut être effectuée directement depuis la frontale irene-fr.ccc.cea.fr. Après connexion à la machine, la commande machine.info vous donnera toutes les informations utiles.

Une commande ccfr_sync, variante de ccfr_cp, permet une synchronisation forte entre la source et la destination en ajoutant, par rapport à la commande ccfr_cp, la suppression des fichiers de la destination qui ne sont pas présents dans la source.

Remarque : Par défaut, ces commandes utiliseront une authentification basique par mot de passe en respectant les modalités en vigueur du centre distant (CINES ou TGCC). Vous serez donc certainement obligés de fournir un mot de passe à chaque fois. Pour éviter ceci, vous pouvez utiliser les certificats IDRIS de type transfert-only (validité 7 jours) dont le mode d'emploi est défini sur le site web de l'IDRIS. L'utilisation de tels certificats vous obligera à initier les transferts depuis la machine distante adastra-ccfr.cines.fr (accessible depuis adastra.cines.fr) pour le CINES et irene-fr.ccc.cea.fr pour le TGCC après avoir copié le certificat transfert-only sur la machine distante et à construire vous-même les commandes rsync de transfert (donc ne pas utiliser les wrappers ccfr_cp et ccfr_sync). Vous pouvez alors vous inspirer des exemples suivants pour faire vos transferts :

# Simple copie de jean-zay vers machine distante (exécuté sur la machine distante)
# utilisant le certificat transfert-only contenu dans ~/.ssh/id_ecc_rsync sur la machine distante
$ rsync --human-readable --recursive --links --perms --times --omit-dir-times -v \
  -e 'ssh -i ~/.ssh/id_ecc_rsync' \
  login_idris@jean-zay-ccfr.idris.fr:/path/on/jean-zay /path/on/adastra/or/irene
 
# Synchronisation forte (option --delete) de jean-zay vers machine distante (exécuté sur la machine distante)
# utilisant le certificat transfert-only contenu dans ~/.ssh/id_ecc_rsync sur la machine distante
$ rsync --human-readable --recursive --links --perms --times --omit-dir-times -v --delete \
  -e 'ssh -i ~/.ssh/id_ecc_rsync' \
   login_idris@jean-zay-ccfr.idris.fr:/path/on/jean-zay /path/on/adastra/or/irene

Attention : Sur la machine adastra-ccfr.cines.fr, le certificat id_ecc_rsync doit être visible depuis votre repertoire /home/login_cines/.ssh pour que la commande ssh puisse l'utiliser (pas de variable d'environnement définie pour cet espace disque). Il faut donc prendre soin de dé-archiver le certificat dans ce repertoire avec une commande du style :

login_cines@adastra-ccfr.cines.fr:~$ unzip ~/transfert_certif.zip -d /home/login_cines/.ssh
Archive: /lus/home/.../transfert_certif.zip
inflating: /home/login_cines/.ssh/id_ecc_rsync
inflating: /home/login_cines/.ssh/id_ecc_rsync.pub

Retour au sommaire


9. La commande module

Pour plus d’informations, consultez notre page web concernant l'utilisation de la commande module sur Jean Zay.

Retour au sommaire


10. Compilation

Jean Zay : Appel du système de compilation Fortran et C/C++ (Intel)

$ module avail intel-compilers
----------------------- /gpfslocalsup/pub/module-rh/modulefiles  --------------------------
intel-compilers/16.0.4 intel-compilers/18.0.5 intel-compilers/19.0.2 intel-compilers/19.0.4
 
$ module load intel-compilers/19.0.4
 
$ module list
Currently Loaded Modulefiles:
 1) intel-compilers/19.0.4

$ ifort prog.f90 -o prog
 
$ icc prog.c -o prog
 
$ icpc prog.C -o prog

Jean Zay : compilation d'un code parallèle MPI en Fortran, C/C++

  • Intel MPI :
$ module avail intel-mpi
-------------------------------------------------------------------------- /gpfslocalsup/pub/module-rh/modulefiles --------------------------------------------------------------------------
intel-mpi/5.1.3(16.0.4)   intel-mpi/2018.5(18.0.5)  intel-mpi/2019.4(19.0.4)  intel-mpi/2019.6  intel-mpi/2019.8  
intel-mpi/2018.1(18.0.1)  intel-mpi/2019.2(19.0.2)  intel-mpi/2019.5(19.0.5)  intel-mpi/2019.7  intel-mpi/2019.9
 
$ module load intel-compilers/19.0.4 intel-mpi/19.0.4
  • Open MPI (sans MPI CUDA-aware, il faudra sélectionner un module sans l'extension -cuda) :
$ module avail openmpi
-------------------------------------------------------- /gpfslocalsup/pub/modules-idris-env4/modulefiles/linux-rhel8-skylake_avx512 --------------------------------------------------------
openmpi/3.1.4       openmpi/3.1.5  openmpi/3.1.6-cuda  openmpi/4.0.2       openmpi/4.0.4       openmpi/4.0.5       openmpi/4.1.0       openmpi/4.1.1       
openmpi/3.1.4-cuda  openmpi/3.1.6  openmpi/4.0.1-cuda  openmpi/4.0.2-cuda  openmpi/4.0.4-cuda  openmpi/4.0.5-cuda  openmpi/4.1.0-cuda  openmpi/4.1.1-cuda     
 
$ module load pgi/20.4 openmpi/4.0.4

  • Intel MPI :
$ mpiifort source.f90
 
$ mpiicc source.c
 
$ mpiicpc source.C
  • Open MPI :
$ mpifort source.f90
 
$ mpicc source.c
 
$ mpic++ source.C

Jean Zay : compilation d'un code parallèle OpenMP en Fortran, C/C++

$ ifort -qopenmp source.f90
 
$ icc -qopenmp source.c
 
$ icpc -qopenmp source.C

$ ifort -c -qopenmp source1.f
$ ifort -c source2.f
$ icc -c source3.c
$ ifort -qopenmp source1.o source2.o source3.o

Jean Zay : Appel du système de compilation PGI pour C/C++ et Fortran

$ module avail pgi 
---------------- /gpfslocalsup/pub/module-rh/modulefiles ----------------
pgi/19.10  pgi/20.1  pgi/20.4
 
$ module load pgi/19.10
 
$ module list
Currently Loaded Modulefiles:
  1) pgi/19.10

$ pgcc prog.c -o prog
 
$ pgc++ prog.cpp -o prog
 
$ pgfortran prog.f90 -o prog

Jean Zay : Compilation d'un code OpenACC

Les options de compilation pour la prise en charge d'OpenACC par le compilateur PGI sont les suivantes :

  • -acc : cette option active le support d'OpenACC. Il est possible de lui donner les sous-options suivantes :
    • [no]autopar : Active la parallélisation automatique pour la directive ACC PARALLEL. Le défaut est de l'activer.
    • [no]routineseq : Compile toutes les routines pour l'accélérateur. Le défaut est de ne pas compiler chaque routine comme séquentielle.
    • strict : Affiche des messages d'avertissement en cas d'utilisation de directives non OpenACC pour l'accélérateur.
    • verystrict : Arrête la compilation en cas d'utilisation de directives non OpenACC pour l'accélérateur.
    • sync : Ignore les clauses async.
    • [no]wait : Attend la fin de chaque noyau de calcul sur l'accélérateur. Le lancement de noyaux est bloqué par défaut, sauf si async est utilisé.
    • Exemple :
      $ pgfortran -acc=noautopar,sync -o prog_ACC prog_ACC.f90
  • -ta : Cette option active le déport de calcul sur l'accélérateur. Elle implique l'option -acc.
    • Elle est utile pour choisir l'architecture cible pour laquelle le code va être compilé.
    • Pour utiliser les GPU V100 de Jean Zay, il faut utiliser la sous-option tesla de -ta et la compute capability cc70. Par exemple :
      $ pgfortran -ta=tesla:cc70 -o prog_gpu prog_gpu.f90
    • Quelques exemples utiles de sous-options de tesla :
      • managed : Permet de créer une vue partagée de la mémoire des GPU et des CPU.
      • pinned : Active l'épinglage de la mémoire sur le CPU. Cela peut améliorer les performances des transferts de données.
      • autocompare : Active la comparaison des résultats sur CPU et GPU.

Jean Zay : MPI CUDA-aware et GPUDirect

Pour une performance optimale, des bibliothèques OpenMPI CUDA-aware supportant le GPUDirect sont disponibles sur Jean Zay.

$ module avail openmpi/*-cuda
------------- /gpfslocalsup/pub/modules-idris-env4/modulefiles/linux-rhel8-skylake_avx512 -------------
openmpi/3.1.4-cuda openmpi/3.1.6-cuda openmpi/4.0.2-cuda openmpi/4.0.4-cuda
 
$ module load openmpi/4.0.4-cuda

$ mpifort source.f90
 
$ mpicc source.c
 
$ mpic++ source.C

Aucune option particulière n'est nécessaire pour la compilation, vous pouvez vous référer à la rubrique Compilation GPU de l'index pour plus d'information sur la compilation des codes utilisant les GPU.

Adaptation du code

L'utilisation de la fonctionnalité MPI CUDA-aware GPUDirect sur Jean Zay impose de respecter un ordre d'initialisation bien précis pour CUDA ou OpenACC et MPI dans le code :

  1. initialisation de CUDA ou OpenACC
  2. choix du GPU que chaque processus MPI doit utiliser (étape de binding)
  3. initialisation de MPI.

Attention : si cet ordre d'initialisation n'est pas respecté, l'exécution de votre code risque de planter avec l'erreur suivante :

CUDA failure: cuCtxGetDevice()

Retour au sommaire


11. Exécution

L'interactif et le batch

Vous avez deux modes de travail possibles : en interactif et en batch.

Dans les deux cas, vous devez respecter les limites maximales, en temps elapsed (ou d’horloge), en mémoire, en nombre de processeurs et/ou en nombre de GPUs, fixées par l’IDRIS dans le but de mieux gérer les ressources informatiques. Vous trouverez de plus amples informations concernant ces limites en consultant sur notre serveur WEB les pages concernant les partitions Slurm CPU , les partitions Slurm GPU et les pages détaillant les modalités de réservation mémoire pour un travail CPU ou un travail GPU .

Le travail en interactif

A partir de machines déclarées dans les filtres de l'IDRIS, vous disposez d'un accès SSH aux frontales depuis lesquels vous pouvez :

Remarque : tout code requérant des GPUs ne peut pas être exécuté sur les frontales car elles n'en sont pas équipées.

Le travail en batch

Il existe plusieurs raisons de travailler en mode batch :

  • avoir la possibilité de fermer la session interactive après avoir soumis un travail ;
  • avoir la possibilité de dépasser les limitations en temps elapsed (ou d’horloge), en mémoire, en nombre de processeurs ou GPUs de l’interactif ;
  • faire des calculs avec des ressources dédiées (ces ressources sont réservées pour vous seul) ;
  • permettre une meilleure gestion des ressources entre les utilisateurs avec une répartition sur la machine en fonction des ressources demandées ;
  • lancer vos travaux de pré/post-traitement sur les nœuds dédiées à grosse mémoire (jean-zay-pp).

À l'IDRIS, nous disposons du logiciel Slurm permettant la gestion des jobs en mode batch sur les nœuds de calcul, sur les nœuds de pré/post-traitement (jean-zay-pp) et les nœuds de visualisation (jean-zay-visu).

Ce gestionnaire de batch contrôle le déroulement des travaux en fonction des ressources demandées (mémoire, temps elapsed ou temps d’horloge, nombre de CPUs, nombre de GPUs,…), du nombre de jobs actifs à un instant donné (nombre total, par utilisateur) et du nombre d'heures consommées par projet.

Il y a 2 étapes essentielles pour travailler en batch : la création puis la soumission du travail (job)

Création d'un travail

Cette étape consiste à écrire dans un fichier toutes les commandes que l’on veut exécuter puis à ajouter, en début de fichier, des directives de soumission Slurm pour définir certains paramètres comme :

  • le nom du job (directive #SBATCH --job-name=...) ;
  • la limite en temps elapsed pour l’ensemble du job (directive #SBATCH --time=HH:MM:SS) ;
  • le nombre de nœuds de calcul (directive #SBATCH --nodes=...)
  • le nombre de processus (MPI) par nœud de calcul (directive #SBATCH --ntasks-per-node=...)
  • le nombre total de processus (MPI) (directive #SBATCH --ntasks=...)
  • le nombre de threads OpenMP par processus (directive #SBATCH --cpus-per-task=...) ;
  • le nombre de GPUs pour les jobs utilisant des GPUs (directive #SBATCH --gres=gpu:...).

Une fois les directives de soumission définies, il est recommandé d'entrer les commandes dans l'ordre suivant ;

  • se placer dans le répertoire d'exécution WORK, SCRATCH ou JOBSCRATCH (pour plus d'information, voir notre documentation sur les espaces disque) ;
  • copier les fichiers d’entrée nécessaires à l’exécution ;
  • lancer l'exécution (via la commande srun pour les codes MPI, hybrides ou multi-GPU) ;
  • éventuellement copier les fichiers de résultats que vous souhaitez conserver si vous avez utilisé le SCRATCH ou le JOBSCRATCH.

Remarques :

  • La directive Slurm #SBATCH --cpus-per-task=... fixant le nombre de threads par processus, permet également de fixer la quantité de mémoire disponible par processus. Pour de plus amples informations, veuillez consulter nos documentations sur l'allocation mémoire d'un travail CPU et/ou d'un travail GPU.
  • Des exemples détaillés de travaux sont disponibles sur notre site Web dans les sections intitulées “Exécution/Contrôle d'un code CPU” et “Exécution/Contrôle d'un code GPU”.

Soumission d'un travail

Pour soumettre un travail en batch (ici le script Slurm mon_job), vous devez utiliser la commande suivante :

$ sbatch mon_job

Votre travail sera placé dans une partition en fonction des valeurs demandées dans les directives Slurm. Nous vous conseillons de positionner au plus juste les paramètres concernant le nombre de CPUs/GPUs et le temps elapsed afin d’avoir un retour de job le plus rapide possible.

Remarques :

  • Pour le suivi et la gestion de vos travaux batch, vous devez utiliser les commandes Slurm.
  • Le mode batch ne permet pas à l’utilisateur d’intervenir au cours de l'exécution des commandes, sauf pour interrompre le déroulement du job. Par conséquent, les transferts de fichiers doivent s'effectuer sans avoir à taper de mot de passe.
  • Les nœuds de calcul n'ont aucun accès à Internet ce qui interdit tout téléchargement (dépôts Git, installation Python/Conda, …) depuis ces nœuds. Si besoin, ces téléchargements peuvent être effectués depuis les frontales ou depuis les nœuds de pré / post-traitement soit avant l'exécution du code, soit via la soumission de travaux en cascade.
  • Si vous voulez exécuter un travail sur la machine pré / post-traitement (jean-zay-pp), vous devez utiliser la directive Slurm ci-dessous dans le script de soumission :
    #SBATCH --partition=prepost

    En l'absence de cette directive de soumission, le travail va s'exécuter dans la partition par défaut donc sur les nœuds de calcul.

Pour tout problème, vous pouvez contacter le Support aux Utilisateurs de l’IDRIS.

Retour au sommaire


12. Formations proposées à l'IDRIS

Formations proposées à l'IDRIS

L’IDRIS dispense des formations à destination aussi bien de ses utilisateurs que de ceux du calcul scientifique en général. La plupart de ces formations figurent au catalogue de CNRS Formation Entreprises, ce qui les rend accessibles à tous les utilisateurs du calcul scientifique, appartenant aussi bien au monde académique qu'industriel.

Ces formations sont principalement orientées vers les méthodes de programmation parallèles : MPI, OpenMP et hybride MPI / OpenMP, clés de voûte pour l’utilisation des supercalculateurs d’aujourd’hui. Depuis 2021, des formations concernant l'intelligence artificielles sont proposées.

Le catalogue des formations proposées par l'IDRIS, régulièrement remis à jour, est disponible ici : liste des formations au catalogue de l'IDRIS

Ces formations sont gratuites si votre employeur est soit le CNRS soit une université française. L'inscription se fait alors directement sur le site web des formations de l'IDRIS. Sinon, contactez CNRS Formation Entreprises pour vous inscrire.

Les supports des formations dispensées à l'IDRIS sont disponibles en ligne ici

Retour au sommaire


13. Documentation de l'IDRIS

  • Le site Web : l’IDRIS maintient à jour un site Web : www.idris.fr regroupant l’ensemble de la documentation technique (nouvelles du centre, fonctionnement des machines, etc.).
  • Les documentations constructeurs : des documents, fournis par les constructeurs, sont accessibles sur le site Web de l’IDRIS. Ils permettent, par exemple, d’avoir une documentation complète sur les compilateurs (Fortran, C et C++), les bibliothèques scientifiques, les bibliothèques de passage de messages (MPI), etc.
  • Les manuels : tous les manuels UNIX sont disponibles en ligne grâce à la commande man exécutée à partir de votre login sur tous les calculateurs de l'IDRIS.

Retour au sommaire


14. Le support aux utilisateurs

La permanence de l'IDRIS

Questions et/ou problèmes techniques

Pour toute question, demande d'information ou problème sur les machines de l'IDRIS, contactez la permanence de l’équipe Support aux utilisateurs. Cette permanence est assurée conjointement par les membres de l’équipe Support utilisateurs HPC (SU-HPC) et les membres de l'équipe Support utilisateurs IA (SU-IA).

Vous pouvez soumettre vos questions :

  • par téléphone au 01 69 35 85 55, ou
  • par courriel adressé à

Cette permanence est assurée sans interruption :

  • du lundi au jeudi de 9h à 18h
  • et le vendredi de 9h à 17h30

Note : En période de vacances scolaires (par exemple : Noël, vacances d'été), les horaires peuvent être réduits :
du lundi au vendredi de 9h à 12h et de 13h30 à 17h30.

En dehors des heures ouvrées, les horaires en cours sont indiqués dans le message du répondeur téléphonique de la permanence.

Gestion administrative des utilisateurs de l'IDRIS

Pour tout problème de mot de passe, d'ouverture de compte, d'autorisation d’accès, ou pour nous envoyer les formulaires d'ouverture ou de gestion de compte, vous devez envoyer un courriel à :