Aller au contenu

Lancer des calculs

Serveur passerelle

Si vous souhaitez accéder au réseau de l’IMT depuis n’importe quel endroit, vous devez utiliser un serveur passerelle:

ssh -X <username>@aneto.math.ups-tlse.fr

<username> est votre identifiant IMT (vous devez rentrer par la suite votre password IMT).

Note

À l’intérieur du réseau de l'IMT, vous pouvez sauter cette étape et passer directement à l'étape suivante.

Serveur principal de soumission (frontale)

Une fois que vous êtes dans le réseau IMT, vous pouvez vous connecter au serveur principal de soumission:

ssh -X calcul

ou avec le nom de domaine complet:

ssh -X calcul.math.univ-toulouse.fr

Il s’agit du serveur principal à partir duquel on peut demander des ressources de calcul gérées par SLURM, un logiciel de gestion de soumissions de jobs. Nous allons voir comment cela peut être quasiment transparent.

Liste des serveurs connectés:

serveur CPU GPU
fourier 2 AMD EPYC 7542 (128 threads) 1 Nvidia A100

Demande de ressources

En interactif

Simple

Vous pouvez maintenant depuis la frontale calcul effectuer une demande de ressources en tapant la commande:

salloc --x11 srun --pty /bin/bash

Cela ouvrira une session interactive sur le serveur attribué avec 2 threads comme ressources.

La session interactive sera fermée en tapant la commande exit, en fermant votre terminal, si vous êtes déconnecté du serveur ou si votre session a atteint la limite maximum définie (voir le tableau ci-dessous).

Tableau des queues de calcul

Si vous voulez plus de ressources, il est nécessaire d'ajouter une option à la commande ci-dessus:

salloc --qos=<qos_name> -c <nb_threads> srun --pty /bin/bash

<qos_name> est un nom de file et <nb_threads> le nombre de threads demandés (inférieur au égal à la limite définie par <qos_name>).

Il est résumé ci-dessous celles qui sont possibles avec les limites:

<qos_name> Limite en ressources Limite en temps Nombre max de jobs par utilisateur
normal (par défaut) 2 threads 7 jours no limit
long 2 threads 31 jours no limit
verylong 2 threads 62 jours no limit
veryverylong 2 threads 124 jours no limit
small 4 threads 7 jours no limit
medium 8 threads 7 jours no limit
large 16 threads 7 jours no limit
huge 32 threads 7 jours no limit

Ces limites sont amenées à évoluer en fonction des usages. Si vous ne trouvez pas la file dont vous avez besoin, veuillez faire un mail à calcul@math.univ-toulouse.fr.

Avec screen

Pour rendre le travail interactif permanent (quel que soit la <qos_name>), vous pouvez utiliser la commande screen.

Depuis le serveur calcul (le serveur depuis lequel vous lancez la commande salloc pour demander des ressources), taper la commande suivante pour ouvrir un socket screen:

screen -S <name>

<name> doit être un nom choisi explicitement. Une fois cette commande lancée, vous êtes attaché à un socket screen qui reste permanent (sans lancer à l'intérieur une commande exit). Vous pourrez ainsi retrouver votre session de travail quoiqu'il se passe.

Vous pouvez à présent lancer la commande salloc comme expliqué ci-dessus afin de lancer votre session de calcul. Pour se détacher du socket screen, il faut taper la commande [ctrl]+a+d (en gardant successivement les touches enfoncées).

Pour retrouver la liste de vos sessions actives:

screen -ls

puis taper la commande:

screen -r <nom>

afin de retrouver définitivement votre session.

Voici un exemple où 2 sockets ont été créés et pour lesquels on est détaché des 2:

couderc@calcul:~$ screen -r
There are several suitable screens on:
    1050349.job1    (Detached)
    1050339.job2    (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

Le système me demande de donner le nom explicite du socket sur lequel je veux me rattacher, par exemple:

screen -r job2

Si la commande de job Slurm avait bien été lancé depuis calcul, on se retrouve directement dans sa session sur le serveur de calcul.

Ici une documentation avec d’autres liens: manuel screen

En soumettant un job

A construire …

Compilateurs/bibliothèques/logiciels

Pour activer l'environnement Spack et pouvoir utiliser les logiciels installés avec :

. /opt/spack/share/spack/setup-env.sh

Attention : premier lancement lent

Le premier appel de cette commande prend environ 1 minute car Spack doit créer un dossier .spack dans votre répertoire personnel.

C'est tout à fait normal : ne fermez pas votre terminal et patientez.

Les appels suivants seront instantanés.

(le temps d’exécution de la commande peut être long, surtout une première fois, veuillez attendre)

Une fois le script de positionnement lancé, vous pouvez voir la longue liste des paquets installés:

spack find

et un paquet peut être chargé en laçant la commande:

spack load <name>

Une documentation est donnée dans les autres rubriques pour un certain nombre de paquets.