Bonjour,
Serait-il possible d'avoir accès à la partition bigmem? L’aligne que je réalisais s’est arrêté après un mois.
slurmstepd-cpu-node-103: error: *** JOB 43858349 ON cpu-node-103 CANCELLED AT 2025-03-09T22:53:15 DUE TO TIME LIMIT ***
Merci
aborowiecka
Bonjour,
Votre job n'a utilisé que 7.2Go de mémoire (sur 500G demandé, soit 1.4%)
Par contre, vous utilisez 100% des 8 CPU.
Je vous invite donc à plutôt à augmenter les ressources CPU allouées.
reportseff --format +reqcpus,AveCPU,CPUTime,reqmem,MaxRSS,user,Account,start,end,NNodes,NodeList,QOS,Partition 43858349
JobID State Elapsed TimeEff CPUEff MemEff ReqCPUS AveCPU CPUTime ReqMem MaxRSS User Account Start End NNodes NodeList QOS Partition
43858349 TIMEOUT 30-00:00:18 100.0% --- 1.4% 8 00:00:00 240-00:02:24 500G 7278384K aborowiecka _gwas_ys_pseudo_tb 2025-02-07T22:52:56 2025-03-09T22:53:14 1 cpu-node-103 normal long
PS: Très généralement (c'est pas toujours vrai suivant les traitements) mais un job qui plus d'une dizaine de jours est probablement à revoir (parallélisation, etc).
"J'utilise le programme MTBseq, qui est un pipeline d'analyse conçu pour standardiser les analyses. Malheureusement, je ne peux pas augmenter le nombre de threads au-delà de 8 pour l'étape en question, ni paralléliser le processus car cette option n'est pas disponible. Je pense que je confonds les threads avec les CPUs par tâche. J'ai utilisé 8, mais au final, je n'ai utilisé qu'un seul CPU sur le nœud cpu-node-103. Faut-il que j'augmente le nombre de CPUs à 300, qui est le maximum, ou est-ce déjà au maximum ?"
En simplifiant un peu, l'option --threads
corresponds bien au nombre de tâche à exécuter en parallèle.
Il doit correspondre au nombre de CPU demandé pour le job (--cpus-per-task
).
Je relancerais donc votre job an augmentant le nombre de CPU à 32 peut-être 64, avant d'en demander plus...
A noter, qu'il est souvent possible de paralléliser par les données (et c'est souvent le plus simple et le plus efficace): si je doit faire tourner mon pipeline sur X jeu de données, je peux alors lancer X jobs, chacun traitant un jeu de donnée.
1 « J'aime »
Merci beaucoup pour ces explications ! Je vais tester cela. (Et pour lancer les données séparément, malheureusement j'ai déjà analysé les étapes où c'était possible de les traiter séparément, je suis maintenant à l'étape où le programme doit les rassembler.)
J'ai relancé mon analyse : 45061657 long All_L4_T aborowie R 17-00:59:32 1 cpu-node-107 , ici je n'utilise qu'un seul thread, c'est bien ça ? Donc même si j'ai relancé avec 64 cpus par task je n'utilise qu'un CPU ? Et je vais sûrement manquer de cpu et temps pour terminer mon analyse comme précédemment ?
Je ne comprends pas votre question.
Voici ce qui tourne à cet instant sur le noeud cpu-node-107:

Autant dire pas grand chose. Un seul CPU sollicité qui est d'ailleurs très peu utilisé (~10%) et aucun threads. La mémoire n'est pas utilisé non plus.
Vous n'utilisez donc pas les ressources importantes qui sont demandées (64 CPU, 500Go RAM) et vos traitements n'avancent pas.
Je pense qu'il faut que vous appréhendiez mieux tout ça, peut-être en vous rapprochant d'une plateforme de Bioinformatique, du Mésocentre de votre région ou autre qui pourront mieux vous guider.