Usage des cartes GPU

Bonjour,

Je suis le responsable informatique de l’Institut Jacques Monod.

J’aide Julien Dumont, responsable d’équipe de recherche.
Il a obtenu un compte “dumont” sur le cluster.
Il souhaite faire des calculs AlphaFold en utilisant des cartes GPU

Samuel lui a dit de faire
#!/bin/bash

#SBATCH -p rpbs
#SBATCH -c 10
#SBATCH --gres=gpu:1
#SBATCH -o test.out
#SBATCH -e test.err
#SBATCH --job-name=test
#SBATCH --nodelist=gpu-node17

srun singularity run --bind /shared/banks/alphafold2/2022-12-13/:/root/.cache/colabfold --nv /shared/software/singularity/images/alphafold-colabfold_1.5.2-rpbs.sif colabfold_batch KBP5_KNL1CT.fa out_dir --num-seeds 20 --num-recycle 12 --msa-mode mmseqs2_uniref_env --model-type alphafold2_multimer_v3 --rank multimer --pair-mode unpaired_paired --num-models 5 --use-dropout --save-recycles

Le job démarre, mais cela dit que le process ne voit pas de GPU.

Comment faire ?

De plus, ce soir, cela bloque plus tot

2023-09-21 19:04:04.049258: W external/org_tensorflow/tensorflow/tsl/platform/default/dso_loader.cc:66] Could not load dynamic library ‘libcuda.so.1’; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/nvidia/lib:/usr/local/nvidia/lib64:/.singularity.d/libs
2023-09-21 19:04:04.049299: W external/org_tensorflow/tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:265] failed call to cuInit: UNKNOWN ERROR (303)

Bien cordialement,

Joel Marchand

Bonjour,

Je viens de tester sur le nœud gpu-node15, le job tourne en utilisant le GPU.
Pourriez vous être plus spécifique sur le message d’erreur et indiquer sur quel nœud le job a été lancé svp.

2023-09-22 09:05:59,259 Running colabfold 1.5.2 (affc6e0e89ee723795ab009f51f2600d843dafb0)
2023-09-22 09:06:06,174 Running on GPU

Il est possible que la version de CUDA installé sur le nœuds soit incompatible avec la version de CUDA de l’image singularity.

Par ailleurs j’ai vu qu’un job a tourné plus de 14h sur le nœud gpu-node11, le job a il tourné correctement ?

Bien corialement,
Samuel

Bonjour,

Merci bien pour la réponse.

Désolé pour le dérangement. J’avais oublié qu’il fallait faire

sbatch fichier-de-directives

et pas

./fichier-de-directives

Mea culpa !

Avec sbatch, cela semble bien aller.

Autres questions :

1/ est-ce qu’il est nécessaire ou utile de préciser un noeud parmi 15, 16, 17 ou 18, afin d’utiliser une carte A100 ?
On ne peut pas laisser SLURM choisir au mieux ?

2/ comment peut-on voir à quelles partitions (et donc quels noeuds) un utilisateur à accès ?

3/ comment peut-on voir sur un traitement GPU quelle est la taille mémoire maximale consommée ?
Ceci afin de pouvoir utiliser éventuellement d’autres GPU plus anciens et avec des mémoires plus petites.

Nous avons tué les jobs qui étaient dans la queue, désolé aussi pour cela.

Bien cordialement,

Joel Marchand

Bonjour @marchand

Je réponds point par point :

1/ Vous pouvez spécifier la carte à utiliser avec : --gres=gpu:a100_80gb_pcie:1

À ce propos, après la mise à jour de slurm qui aura lieu le 2 octobre prochain, cette spécification n’existera plus car les cartes A100 seront divisées en slices. Il faudra mettre quelque-chose qui ressemblera à ça à la place : 3g.20gb.

2/ C’est affiché lors du login : sacctmgr show user $USER withassoc

3/ Avec seff job_id

Cordialement.

Re,

2/ comment peut-on voir à quelles partitions (et donc quels noeuds) un
utilisateur à accès ?
J’ai vu dans /etc/motd que la commande pour cela est
sacctmgr show user $USER withassoc

Bien cordialement,

Joel

Re,

Merci bien pour les points 1/ et 2/

Pour le point 3/, on ne voit pas la mémoire GPU utilisée, est-ce bien le cas ?

Bien cordialement,

Joel

Non, effectivement, Slurm n’est pas capable de tracker la mémoire utilisée sur les GPUs (du moins pas encore).

Merci pour la confirmation.

Voici le mémo que j’ai rédigé pour Julien. Critique et correction bienvenues.

Joel

(Attachment notes-rpbs.txt is missing)

Le memo dans le mel

*/ Documentation

Je ne peux pas consulter le mémo. Les mails de réponse sont postés directement sur le forum et les pièces jointes sont perdues pendant le transfert.

Cordialement.

Re,

Par ailleurs,

dumont@ipop-up out_dir]$ squeue -u dumont
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
2647836 rpbs job dumont R 24:42 1 gpu-node18

[dumont@ipop-up out_dir]$ seff 2647836
Job ID: 2647836
Cluster: production
User/Group: dumont/umr7592
State: RUNNING
Nodes: 1
Cores per node: 10
CPU Utilized: 00:00:00
CPU Efficiency: 0.00% of 04:07:50 core-walltime
Job Wall-clock time: 00:24:47
Memory Utilized: 0.00 MB (estimated maximum)
Memory Efficiency: 0.00% of 128.00 GB (128.00 GB/node)
WARNING: Efficiency statistics may be misleading for RUNNING jobs.

J’ai l’impression que cela ne donne aucune info sur le taux d’usage CPU et mémoire.

Normal ?

Joel

Le Fri, Sep 22, 2023 at 10:44:04AM +0000, Julien Rey via RPBS disait :

Oui, il faut attendre que le job soit COMPLETED.

Merci !

Joel

Le Fri, Sep 22, 2023 at 02:19:05PM +0000, Julien Rey via RPBS disait :