diff --git a/README.md b/README.md index 32597363..b06ae185 100644 --- a/README.md +++ b/README.md @@ -22,4 +22,3 @@ L'adresse de la documentation est celle-ci : https://www.mesonet.fr/documentatio - on installe docusaurus : `cd mesodoc && yarn install` ou `cd mesodoc && npm install` - On édite ce que l'on souhaite - On construit le site et lance un serveur web localement pour le prévisualiser : `yarn serve` ou `npm run start` - diff --git a/docs/code_form/hedy/_category_.json b/docs/code_form/hedy/_category_.json new file mode 100644 index 00000000..810840e7 --- /dev/null +++ b/docs/code_form/hedy/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Hedy", + "position": 5 +} diff --git a/docs/code_form/hedy/cgu.md b/docs/code_form/hedy/cgu.md new file mode 100644 index 00000000..1f9fdf70 --- /dev/null +++ b/docs/code_form/hedy/cgu.md @@ -0,0 +1,11 @@ +--- +title: "CGU" +sidebar_position: 7 +--- + + +# Conditions générales d’utilisation des ressources de calcul du mésocentre d'Aix-Marseille + +Tous les utilisateurs doivent lire et se conformer à la [charte publiée sur le site du mésocentre](https://mesocentre.univ-amu.fr/charte). + +Lien vers la charte : [cliquez ici](https://mesocentre.univ-amu.fr/charte). diff --git a/docs/code_form/hedy/connexion.md b/docs/code_form/hedy/connexion.md new file mode 100644 index 00000000..18818ddd --- /dev/null +++ b/docs/code_form/hedy/connexion.md @@ -0,0 +1,40 @@ +--- +title: "Se connecter à Hedy" +sidebar_position: 2 +--- + +# Se connecter à Hedy + +Vous avez besoin d'un compte MesoNET valide. Vous pouvez trouver les étapes pour obtenir un compte [ici](https://www.mesonet.fr/documentation/user-documentation/acces/portail). + +Vous devez également participer à un projet MesoNET ayant demandé l'utilisation de la machine Hedy. Le dépôt de projet se fait [ici](https://www.mesonet.fr/documentation/user-documentation/acces/projets/). + +La connexion s’effectue obligatoirement par clés ssh. Elles doivent avoir été créés sur votre poste client et la clé publique doit être déposée sur le portail MesoNET ([Gérer ses clés SSH)](https://www.mesonet.fr/documentation/user-documentation/acces/ssh/). + +Depuis un terminal, la commande pour se connecter est : +``` +ssh user@hedy.mesocentre.univ-amu.fr -p portnumber +``` + +Il est recommandé de créer un fichier indiquant les informations de connexion ssh. Ce fichier nommé config est à placer sur le poste de travail, dans le répertoire `/home/user/.ssh` sur un système Unix ou `C:\Users\username\.ssh` sous Windows. + +Le contenu minimal est : +``` +Host hedy + Hostname hedy.mesocentre.univ-amu.fr + User user + Port portnumber + IdentityFile ~/.ssh/nom-de-ma-clé-privée + IdentitiesOnly=yes +``` +**user** est votre identifiant utilisateur sur MesoNET. Vous pouvez avoir plusieurs identifiants MesoNET, un par machine et un par projet, il faut veiller à renseigner l'identifiant correspondant. + +**portnumber** est le numéro de port qui vous a été communiqué dans le message électronique de bienvenue. +Comme ce n’est pas le port standard, il se peut qu’une autorisation soit nécessaire sur le firewall de votre ordinateur ou sur celui du site depuis lequel vous vous connectez. + +**~/.ssh/nom-de-ma-clé-privée** il s'agit de la clé privée correspondant à la clé publique déposée sur le portail MesoNET (par ex: `~/.ssh/id_ed25519`) + +Une fois le fichier config correctement créé, il est possible de se connecter à la machine Hedy simplement avec la commande : +``` +ssh hedy +``` diff --git a/docs/code_form/hedy/description.md b/docs/code_form/hedy/description.md new file mode 100644 index 00000000..85fad19e --- /dev/null +++ b/docs/code_form/hedy/description.md @@ -0,0 +1,22 @@ +--- +title: "Description" +sidebar_position: 1 +--- + +# Hedy, la machine IA/GPU H100 de MesoNET + +:::caution +HEDY est en pré production : le nombre de projets est limité +::: + +La machine Hedy dispose de 8 Noeuds PowerEdge XE8640 : + + - 2 x Intel Xeon Platinum 8462Y+ 2,8 GHz, 32C/64T, 16 GT/s, cache 60 Mo, Turbo, HT (300 W), mémoire DDR5 à 4 800 MHz + - 512 Go RAM + - 4 x GPU NVIDIA HGX H100 SXM 80Go connectés via NVSwitch (SXM) + - DD NVMe de 3,84To + - Network 100Gb + +Elle est accessible via 2 serveurs de login et possède 1 serveur de visualisation. + +[![Portrait d'Hedy Lamarr](/img/hedy/hedy_lamarr.png)](https://fr.wikipedia.org/wiki/Hedy_Lamarr) diff --git a/docs/code_form/hedy/jobs.md b/docs/code_form/hedy/jobs.md new file mode 100644 index 00000000..9a24306b --- /dev/null +++ b/docs/code_form/hedy/jobs.md @@ -0,0 +1,64 @@ +--- +title: Lancer un calcul +sidebar_position: 4 +--- +# Lancer un calcul + +:::caution +Les calculs ne doivent jamais être exécutés sur les frontales de login mais sur les nœuds de calcul. +::: + +Il n’y a pas d'espace scratch global sur la machine Hedy. Le disque local des nœuds, de technologie NVMe offre de bonnes performances en lecture/écriture et fait office de scratch. L’usage recommandé est de copier au début du job les données d’entrée sur le répertoire /tmp (si elles ne sont pas trop volumineuses) et, à l'issue de l'exécution du programme, de déplacer les résultats depuis /tmp vers le home. Cette étape est essentielle car toutes les données seront supprimées du nœud à la fin du job. + +Hedy utilise l’ordonnanceur [Slurm]( https://slurm.schedmd.com/overview.html) qui assure l’ordonnancement et la planification des travaux de calcul. La soumission à Slurm des travaux de calcul se fait à partir d'un script shell ou en ligne de commande. + +## Soumission par script + +Il faut écrire un script shell comportant les directives Slurm (#SBATCH) et les commandes appropriées. + +Exemple de script shell qui sollicite la réservation pour 24 heures de 2 GPUs GH100 et exécute le programme mon_programme.sh : +``` +#!/bin/bash +#SBATCH --job-name=mon_job_gpu +#SBATCH --account=b1001 +#SBATCH --partition=gpu +#SBATCH --nodes=1 +#SBATCH --gres=gpu:GH100:2 +#SBATCH --time=24:00:00 + +# copie des données d’entrée sur le nœud alloué +mkdir /tmp/input +cp /home/user/.../* /tmp/input/. + +# lancement du programme +~/soft/.../mon_progamme + +# déplacement des résultats sur le home +mv /tmp/output/* /home/user/…/. +``` +:::info +L'allocation des ressources est basée sur l'utilisation du GPU, on vous demande donc de NE PAS indiquer le nombre de cœurs CPU et la mémoire requise dans un Job car ces ressources seront allouées automatiquement, aussi efficacement que possible, en fonction du nombre de GPU (```CPU = nombre_de_GPUs * 16 cœurs``` , ```RAM = nombre_de_GPUs * 120000 MB```). +::: +Il suffit ensuite d'envoyer le script à Slurm par la commande sbatch qui le mettra en file d'attente. +``` +sbatch mon_programme.sh +``` + +## Soumission en ligne de commande + +Il est possible d'utiliser directement sbatch en ligne de commande avec pour arguments les directives Slurm et le nom du programme. +``` +srun --job-name=mon_job_gpu --account=b1001 --partition=gpu --nodes=1 --gres=gpu:GH100:2 --time=24:00:00 mon_script.sh +``` + +## Ouverture d’une session interactive +Il est également possible d'accéder à une session interactive en précisant les ressources souhaitées. + +Par exemple : +``` +srun --job-name=mon_job_gpu --account=b1001 --partition=gpu --nodes=1 --gres=gpu:GH100:2 --time=24:00:00 --pty bash -i +``` +Vous serez alors connecté sur un nœud et pourrez utiliser les commandes unix et lancer vos directement en ligne de commande. + +## Pour aller plus loin +Quelques tutoriels sur Slurm sont disponibles [ici](../../HOWTO/slurm/slurm.md), la liste complète des directives Slum est disponible [ici]( https://slurm.schedmd.com/archive/slurm-24.05.5/sbatch.html#lbAG) et la documentation complète [ici]( https://slurm.schedmd.com/archive/slurm-24.05.5/). diff --git a/docs/code_form/hedy/module.md b/docs/code_form/hedy/module.md new file mode 100644 index 00000000..298c7bdf --- /dev/null +++ b/docs/code_form/hedy/module.md @@ -0,0 +1,206 @@ +--- +title: "Environnements logiciels" +sidebar_position: 5 +--- + +# INTRODUCTION + +Le système de [Modules](https://modules.readthedocs.io/en/latest/#) est un outil qui simplifie l'initialisation du shell et permet aux utilisateurs et utilisatrices de modifier leur environnement facilement avec des fichiers de modules. + +Chaque fichier de module contient les informations requises pour configurer le shell pour une application spécifique. Plusieurs modules sont pré-installés sur **Hedy**. + +Par défaut, le module **[slurm/slurm](jobs)** (notre gestionnaire de ressources, indispensable pour soumettre des jobs) est chargé par défaut dans l'environnement de toutes les personnes se connectant au cluster. + +# UTILISATION +## module list + +Pour lister les modules chargés dans votre environnement, vous pouvez utiliser la commande **module list** (ou son raccourci **ml list**) : + +```console +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) +``` + +On voit ici que le module **slurm/slurm** estchargé, ce qui nous permettra d'utiliser cette application. + +## module load + +Prenons l'exemple de **openmpi**. Voici ce qui se passe si vous essayez de l'utiliser sans charger de module : + +```console +user@hedy:~$ mpirun +-bash: mpirun: command not found +user@hedy:~$ which mpirun +/usr/bin/which: no mpirun in (/usr/local/bin/di:/nfs/mesonet/home/users/hal/HPC_tools/utilities:/nfs/mesonet/home/users/hal/.local/bin:/nfs/mesonet/sw/slurm/slurm-24.05.0/bin:/nfs/mesonet/sw/modules/modules-5.4.0/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/nfs/mesonet/home/users/hal/bin:/nfs/mesonet/sw/munge/munge-0.5.16/bin/) +``` +Le logiciel n'apparaît pas dans votre environnement, et par conséquent vous ne pouvez pas l'utiliser. Il faut donc charger le bon module avec la commande **module load** (ou son raccourci **ml load**) : + +```console +user@hedy:~$ module load openmpi/5.0.3.rocm-6.1.1 +Loading openmpi/5.0.3.rocm-6.1.1 + Loading requirement: rocm/6.1.1 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) openmpi/5.0.3.rocm-6.1.1 +user@hedy:~$ which mpirun +/nfs/mesonet/sw/openmpi/openmpi-5.0.3.rocm-6.1.1/bin/mpirun +``` + +On voit que maintenant **openmpi** est utilisable. On constate également que tous les autres modules desquels **openmpi** dépend ont été chargé automatiquement. Pour désactiver l'affichage du message, vous pouvez utiliser l'option **-q** (ou **--quiet**) : +```console + +user@hedy:~$ module -q load openmpi/5.0.3.rocm-6.1.1 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) openmpi/5.0.3.rocm-6.1.1 +``` +Le message ne s'est pas affiché, mais tous les modules sont bien chargés. Cela peut servir pour alléger les logs de vos jobs. + +## module remove + +Lorsque vous ne voulez plus utiliser un module, vous pouvez le supprimer de votre environnement avec la commande **module remove** (ou ses raccourcis **module rm** ou **ml rm**). Dans notre exemple, le module **openmpi/5.0.3.rocm-6.1.1** n'est plus nécessaire : + +```console +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) openmpi/5.0.3.rocm-6.1.1 +user@hedy:~$ module remove openmpi/5.0.3.rocm-6.1.1 +Unloading openmpi/5.0.3.rocm-6.1.1 + Unloading useless requirement: rocm/6.1.1 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) +``` + +Module va gérer de manière "intelligente" les dépendances. Il a supprimé les dépendances automatiquement. Si vous aviez chargé le module **rocm/6.1.1** avant de charger le module **openmpi/5.0.3.rocm-6.1.1**, ce dernier ne chargera que l'autre dépendance manquante. Lors de la suppression, le module **rocm/6.1.1** sera conservé : + +```console +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) +user@hedy:~$ module load openmpi/5.0.3.rocm-6.1.1 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) openmpi/5.0.3.rocm-6.1.1 +user@hedy:~$ module rm openmpi/5.0.3.rocm-6.1.1 + Unloading useless requirement: openmpi/openmpi-3.1.i18 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) +``` + +À l'inverse, si vous enlevez un module dont dépend d'autres modules, tous les modules seront déchargés : +```console +user@hedy:~$ module load openmpi/5.0.3.rocm-6.1.1 +Loading openmpi/5.0.3.rocm-6.1.1 + Loading requirement: rocm/6.1.1 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) openmpi/5.0.3.rocm-6.1.1 +user@hedy:~$ module rm rocm/6.1.1 +Unloading rocm/6.1.1 + Unloading dependent: openmpi/5.0.3.rocm-6.1.1 +``` + +## module purge + +Vous pouvez supprimer tous vos modules d'un coup pour repartir sur une base nouvelle avec **module purge** (**ml purge**) + +```console +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) openmpi/5.0.3.rocm-6.1.1 4) gcc/13.2.0(latest) +user@hedy:~$ module purge +Unloading slurm/slurm + ERROR: Unload of super-sticky module skipped +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) +``` + +Vous pouvez qu'une erreur indique que le module **slurm/slurm** n'a pas pu être supprimé. C'est tout à fait normal, ce module étant indispensable au fonctionnement du centre de calcul, nous avons décidé de le rendre permanent. Si vous ne souhaitez pas voir l'erreur apparaître, vous pouvez utiliser l'option **-q** : + +```console +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) openmpi/5.0.3.rocm-6.1.1 4) gcc/13.2.0(latest) +user@hedy:~$ module purge -q +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) +``` + +## module switch + +Il est possible de remplacer un module par un autre avec une seule commande **module switch** (**ml switch**) : + +```console +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) +user@hedy:~$ module load aocl/4.2.0.aocc +Loading aocl/4.2.0.aocc + Loading requirement: rocm/6.1.1 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) rocm/6.1.1(latest) 3) aocl/4.2.0.aocc +user@hedy:~$ module switch aocl/4.2.0.aocc aocl/4.2.0.gcc +Switching from aocl/4.2.0.aocc to aocl/4.2.0.gcc + Unloading useless requirement: rocm/6.1.1 + Loading requirement: gcc/13.2.0 +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) gcc/13.2.0(latest) 3) aocl/4.2.0.gcc +``` + +Ici on remplace le module **aocl/4.2.0.aocc** par le module **aocl/4.2.0.gcc**. Les dépendances sont gérées automatiquement. + +## module avail + +La commande **module avail** (**ml avail**) permet d'obtenir la liste des modules installés sur le cluster. + +La liste peut être un peu longue et indigeste, il est préférable d'affiner un peu ses recherches avec le nom d'une application par exemple : + +```console +user@hedy:~$ module avail gcc +---------------- /nfs/mesonet/sw/modulefiles ---------------- +gcc/9.5.0 gcc/10.5.0 gcc/11.4.0 gcc/12.3.0 gcc/13.2.0(latest) +``` + +Certains modules ont des tags entre parenthèses. Ces derniers servent à identifier rapidement le module le plus récent. Quand 2 modules partagent le tag *latest*, un autre tag s'ajoute pour les différencier (souvent le compilateur qui a servi a complier l'application). + +D'autres modules sont soulignés. Ces modules représentent les modules qui seront chargés par défaut si on ne précise pas de version de module : + +```console +user@hedy:~$ module load gcc +user@hedy:~$ module list +Currently Loaded Modulefiles: + 1) slurm/slurm(latest) 2) gcc/gcc-13.2.0(latest) +``` + +## .bashrc / .cshrc / .zshrc +Les fichiers **.bashrc** (pour [bash](https://www.gnu.org/software/bash)), **.cshrc** (pour [tcsh](https://www.tcsh.org) ou csh) et **.zshrc** (pour [zsh](https://www.zsh.org)) permettent une personalisation du shell. Vous pouvez y insérer des commandes qui seront lancées à chaque connexion. Il est ainsi possible de charger directement les modules qui vous intéressent dans ce fichier de configuration. Vous pouvez éditer ce fichier avec n'importe quel éditeur de texte installé sur **H** : + +```console +vim ~/.bashrc +``` + +Ces modules seront également utilisés pour vos jobs, donc il n'est plus nécessaire de les charger manuellement dans vos scripts de soumissions. + +Voici un exemple de **.bashrc** qui charge des modules automatiquement : + +```console +# .bashrc + +# Source global definitions +if [ -f /etc/bashrc ]; then + . /etc/bashrc +fi + +source /usr/local/configfiles/bashrc.default + +module load -s gcc/gcc-13.2.0 +module load -s openmpi/5.0.3.rocm-6.1.1 +module load -s cmake/3.29.5 +``` diff --git a/docs/code_form/hedy/quotas.md b/docs/code_form/hedy/quotas.md new file mode 100644 index 00000000..d173cd17 --- /dev/null +++ b/docs/code_form/hedy/quotas.md @@ -0,0 +1,56 @@ +--- +title: "Comptabilité et quotas" +sidebar_position: 3 +--- +# Comptabilité et quotas + +L'utilisation de la machine est comptabilisée sur la base du nombre de GPU utilisés (1 heure GPU correspond à l'utilisation d'une carte H100 pendant une heure). Le cluster est composé de 8 nœuds, chacun avec 4 GPU H100. Le nombre d'heures GPU attribuées à chaque projet doit être spécifié lors de la création de celui-ci, avec une limite maximale de 10000 heures GPU pouvant être demandée. + + +## Stockage + +Une fois le projet validé, un dossier est créé pour chaque membre du projet dans le `/home/` de la machine (`/home//`), ainsi qu'un dossier partagé pour tous les membres du projet où ils peuvent partager librement des fichiers (`/home/projects//`). Le dossier `/home/` est accessible depuis tous les nœuds du cluster et les quotas de stockage sont attribués par défaut de la manière suivante : + +| | Limite d'espace | Limite de fichiers | +| ----------------- | :------------------: | :-------------------: | +| **Utilisateur** | 500 Go | 5000000 | +| **Projet** | 1000 Go | 10000000 | + + +## Limites de calcul + +Par ailleurs, certaines limites de calcul sont définies par défaut dans Slurm afin de garantir une utilisation équilibrée et équitable du cluster pour tous les utilisateurs. Le nombre maximal de GPU qu'un utilisateur peut occuper simultanément est de 4 H100, ce qui équivaut aux ressources d'un nœud complet. De même, le nombre maximal de jobs qu'un utilisateur peut lancer, y compris les jobs en attente d'exécution, est de 10. + +Il est important que tous les utilisateurs respectent ces règles afin de garantir une utilisation raisonnable des ressources du cluster. Si une modification de ces limites et quotas s'avère nécessaire, une demande spéciale et dûment justifiée devra être remplie afin de faire l'objet d'une évaluation avant d'être validée en fonction des disponibilités. + +## Informations utiles + +La commande `hedy_info` peut être lancée depuis les frontales de login pour obtenir des informations pertinentes sur le projet, telles que le nombre d'heures attribuées, la consommation actuelle, l'utilisation du disque dur et les jobs récents. L'option `-e` peut être utilisée pour obtenir ces mêmes informations en anglais. + +``` +[user2@m-login01 ~]$ hedy_info + +UTILISATEUR: user2 + +------------------------------------------------------------------------------------------- +PROJET: m20000 +ATTRIBUTION: 5002.00 heures GPU +UTILISÉ: 20.47 heures GPU (0.41%) +ÉNERGIE CONSOMMÉE: 0.09 kWh (0.32 MJ) +DÉTAILS DE LA CONSOMMATION: + Utilisateur | Utilisé (h) | % | Énergie (kWh) + user1 | 13.18 | 0.26 | 0.04 + user2 | 7.28 | 0.15 | 0.04 +QUOTA DISQUE: + || ESPACE || FICHIERS + || Utilisé | Limite Faible | Limite Dure || Utilisé | Limite Faible | Limite Dure + m20000 || 0K | 900G | 1000G || 1 | 9000k | 10000k + user1 || Informations confidentielles de l'utilisateur || Informations confidentielles de l'utilisateur + user2 || 48K | 450G | 500G || 13 | 4500k | 5000k +DERNIERS JOBS: + JobID | JobName | User | État | Début | Écoulé | AllocTRES + 5095 | sleep_job | user2 | COMPLETED | 2025-08-13T14:32:20 | 00:10:02 | billing=16,cpu=64,energy=546910,gres/gpu:gh100=4,gres/gpu=4,mem=480000M,node=1 + 5101 | test_job | user1 | COMPLETED | 2025-08-16T15:30:11 | 00:10:01 | billing=8,cpu=32,energy=266730,gres/gpu:gh100=2,gres/gpu=2,mem=240000M,node=1 + 5126 | sleep_job2 | user2 | FAILED | None | 00:00:00 | + 5127 | test_job2 | user1 | COMPLETED | 2025-08-19T15:31:36 | 00:10:01 | billing=16,cpu=64,energy=535860,gres/gpu:gh100=4,gres/gpu=4,mem=480000M,node=1 +``` \ No newline at end of file diff --git a/docs/code_form/hedy/visu.md b/docs/code_form/hedy/visu.md new file mode 100644 index 00000000..76cb4948 --- /dev/null +++ b/docs/code_form/hedy/visu.md @@ -0,0 +1,46 @@ +--- +title: "Noeud de visulation" +sidebar_position: 6 +--- + +# Utilisation du noeud de visualisation + +Ce noeud permet de visualiser vos résultats de calcul à distance, directement sur le cluster et évite de les copier sur votre poste de travail. +L’accès se fait en deux étape : + +## Création d'une session + +Elle s’effectue depuis la frontale de connexion, par l’intermédiaire de la commande svisu. +``` +# svisu -h +usage: svisu [-h] [--debug] [--verbose] [--desktop {xfce4,gnome}] [--geometry GEOMETRY] [--view-only-users] + [--account {b1001}] [--time TIME] [--exclusive] [--extra-args EXTRA_ARGS] + +Start TurboVNC/VirtualGL server through Slurm. + +optional arguments: + -h, --help show this help message and exit + --debug, -d Debug mode. No VNC server will be executed here. + --verbose, -v Verbose mode. + --desktop {xfce4,gnome}, -b {xfce4,gnome} + Select desktop environment. + --geometry GEOMETRY, -g GEOMETRY + Select screen resolution. + --view-only-users, -u + Allow view-only user(s) to connect on the session. + --account {b1001}, -A {b1001} + Use the specified project. + --time TIME, -t TIME Select time limit (default: 00:30:00, max: 04:00:00 or 02:00:00 for exclusive mode). + --exclusive, -n Allocate nodes in exclusive mode. + --extra-args EXTRA_ARGS, -B EXTRA_ARGS + Add extra Slurm options (ex: -B="--reservation=username_1"). + +``` + +Sans paramètres additionnels, la commande réserver une session en utilisation patagée (6 cœurs, 6 Go/coeur, pour une durée de 30 minutes). + +## Accès à la session + +Il s’effectue par l’intermédiaire d’un client vnc installé sur votre poste de travail (TurboVNC ou TigerVNC par exemple). + +Les paramètres de connexion (adresse IP, port de connexionVNC, mot de passe) sont communiqués par la commande svisu. diff --git a/static/img/hedy/hedy_lamarr.png b/static/img/hedy/hedy_lamarr.png new file mode 100644 index 00000000..0f132e02 Binary files /dev/null and b/static/img/hedy/hedy_lamarr.png differ