Bonjour,
Quelle commande permet de connaître la disponibilité des noeuds GPU ?
A priori
squeue -p gpu
va me donner l'état de la queue avec les jobs qui tournent et ceux en attente.
D'après la doc,
sinfo -Ne -p gpu --format "%.15N %.4c %.7m %G"
indique le nombre de partitions pour chaque GPU.
Mais quelle commande pourrait me donner le nombre partitions de GPU disponibles (c'est-à-dure utilisable tout de suite) ?
Je pense à un truc comme ça :
sinfo -N -O nodelist,partition,cpustate,memory,allocmem,freemem -p gpu
mais je n'ai pas l'impression que l'option gpustate
existe.
D'avance merci pour votre aide.
Pierre
PS : pourriez-vous également jeter un coup d'oeil à la queue GPU ? J'ai l'impression qu'il y a un souci : trop de job pending pour peu de running.
Bonjour @pierrepo
On peut utiliser sinfo en demande les "Generic resources (gres)":
sinfo -N -O nodelist,partition:15,Gres:30,GresUsed:50 -p gpu
NODELIST PARTITION GRES GRES_USED
gpu-node-01 gpu gpu:1g.5gb:14 gpu:1g.5gb:0(IDX:N/A)
gpu-node-02 gpu gpu:3g.20gb:2,gpu:7g.40gb:1 gpu:3g.20gb:1(IDX:0),gpu:7g.40gb:0(IDX:N/A)
gpu-node-03 gpu gpu:7g.40gb:2 gpu:7g.40gb:2(IDX:0-1)
C'est à dire:
- gpu-node-01: 14 profils 1g.5gb, 0 utilisé
- gpu-node-02: 2 profils 3g.20gb, 1 utilisé
- gpu-node-02: 1 profil 7g.40gb, 0 utilisé
- gpu-node-03: 1 profil 7g.40gb, 2 utilisés
On peut alors savoir les profils/GPU disponibles immédiatement.
Plus d'infos sur les profils ("Multi-Instance GPU"): SLURM at IFB Core - IFB Core Cluster Documentation
Les jobs PENDING sont normal puisque les jobs en attente demande des ressources non disponibles (gros profil de 7g.40gb) ou en-dehors des usages possibles ( Time de 6j > PartitionTimeLimit
):
squeue -p gpu -O "JobID:10,UserName:10,State:10,TimeUsed:10,TimeLimit:15,NumNodes:6,NumCPUs:5,MinMemory:15,tres-per-node,NodeList:15,Reason"
JOBID USER STATE TIME TIME_LIMIT NODES CPUS MIN_MEMORY TRES_PER_NODE NODELIST REASON
33232513 agile PENDING 0:00 3-00:00:00 1 10 100G gpu:3g.20gb:2 Resources
33232487 zibo PENDING 0:00 1-12:00:00 1 10 50G gpu:7g.40gb:1 Priority
33232497 zibo PENDING 0:00 1-12:00:00 1 10 50G gpu:7g.40gb:1 Priority
33232508 zibo PENDING 0:00 1-12:00:00 1 10 50G gpu:7g.40gb:1 Priority
33232519 zibo PENDING 0:00 1-12:00:00 1 10 50G gpu:7g.40gb:1 Priority
33232522 zibo PENDING 0:00 1-12:00:00 1 10 50G gpu:7g.40gb:1 Priority
33232538 zibo PENDING 0:00 1-12:00:00 1 10 50G gpu:7g.40gb:1 Priority
33221958 dcros PENDING 0:00 3-00:00:00 1 32 15G gpu:7g.40gb:1 Priority
33230234 dcros PENDING 0:00 6-00:00:00 1 32 15G gpu:3g.20gb:1 PartitionTimeLimit
33232453 zibo RUNNING 1:11:07 1-12:00:00 1 10 50G gpu:7g.40gb:1 gpu-node-03 None
33232437 zibo RUNNING 4:27:49 1-12:00:00 1 10 50G gpu:7g.40gb:1 gpu-node-03 None
33231166 sorozcoariRUNNING 6:45:37 12:00:00 1 32 50G gpu:3g.20gb:1 gpu-node-02 None
A noter qu'il est possible de vérifier le bon usage du GPU via la commande nvidia-smi
sur le serveur gpu. Par exemple sur gpu-node-03
:
ssh gpu-node-03 nvidia-smi
On peut alors vérifier que notre programme (process) utilisé bien tout ou partie du GPU (MIG).
1 « J'aime »
Merci @dbenaben c'est magnifique !