Suivi de consommation des heures de calcul
Décomptes des heures
Sur Jean Zay, les attributions d'heures de calcul sont faites par projet, en différenciant le décompte des heures de calcul CPU de celui des heures GPU.
Le décompte des heures consommées par vos travaux se fait sur la base :
- du nombre de cœurs physiques réservés × temps Elapsed pour un travail de type CPU
- ou du nombre de GPUs réservés × temps Elapsed pour un travail de type GPU.
Pour un travail de type GPU, le nombre de GPUs réservés
pris en compte pour la comptabilité du travail n'est pas nécessairement
égal au nombre de GPUs demandés via la directive Slurm
#SBATCH --gres=gpu:...
En effet, un ajustement peut être effectué
suivant le nombre de CPUs qui est aussi demandé pour le travail. Par
exemple, demander un seul GPU d'un nœud (soit 1/4 ou 1/8 des GPUs du nœud
suivant le type de nœud) via #SBATCH --gres=gpu:1 et la moitié
des CPUs du nœud, conduit à la réservation de la moitié des ressources
du nœud. La comptabilité du job est alors calculée sur la base d'une
réservation de la moitié des GPUs (donc comme si vous aviez demandé
#SBATCH --gres=gpu:2 ou #SBATCH --gres=gpu:4 suivant le type de
nœud).
Notez que lors d'une exécution en mode exclusif (option --exclusive
de la commande sbatch ou directive #SBATCH --exclusive de Slurm),
vous réservez les nœuds de calcul en totalité :
- soit 40 cœurs physiques pour les partitions cpu;
- soit 40 cœurs physiques et 4 gpus pour la partition gpu par défaut;
- soit 24 cœurs physiques et 8 gpus pour la partition
gpu_p2. - soit 64 cœurs physiques et 8 gpus pour la partition
gpu_p5.
Le décompte se fera alors sur la base :
- du nombre de nœuds réservés × 40 cœurs × temps Elapsed pour un travail de type CPU;
- du nombre de nœuds réservés × 4 gpus × temps Elapsed pour un travail de type GPU dans la partition gpu par défaut;
- du nombre de nœuds réservés × 8 gpus × temps Elapsed pour un
travail de type GPU dans les partitions
gpu_p2etgpu_p5.
Toutes les exécutions demandant un nœud de calcul ou plus se font automatiquement en mode exclusif et sont donc facturés sur la base du nombre de nœuds entiers réservés.
Vous pouvez consulter les attributions de votre projet en utilisant la commande suivante:
idracct
De plus, nous vous recommandons de consulter notre documentation concernant la régulation automatique d'heures qui conditionne l'utilisation des heures de calcul.
Les attributions d'heures
Plusieurs cas sont possibles suivant que votre login est rattaché à un seul projet ou plusieurs et que le(s) projet(s) dispose(nt) d'heures CPU, GPU V100, GPU A100, GPU H100, ou au moins deux parmi les quatre :
- Si votre unique projet ne dispose que d'heures CPU ou d'heures GPU d'un seul type (V100, A100 ou H100), vous n'avez alors pas besoin de préciser l'attribution d'heures sur laquelle doit être décomptée les heures consommées par vos calculs.
- Par contre, si votre unique projet dispose d'heures CPU
et GPU ou d'heures GPU de plusieurs types (parmi V100, A100 et H100) ou encore si
votre login est rattaché à plusieurs projets, vous devez
impérativement préciser l'attribution sur laquelle doit être
décomptée les heures consommées par vos calculs. Sans cette
précision, vous risquez de décompter vos heures consommées sur un
autre projet que celui sur lequel vous souhaitez travailler.
Vous devez donc obligatoirement indiquer le bon projet (
my_project) et le type d'heures à utiliser (cpu,v100,a100ouh100) :- soit via l'ajout de l'option
--account=...à la commandesbatch:
sbatch ... --account=my_project@cpu job_cpu.slurm # pour des heures CPUsbatch ... --account=my_project@v100 job_gpu.slurm # pour des heures GPU V100sbatch ... --account=my_project@a100 job_gpu.slurm # pour des heures GPU A100sbatch ... --account=my_project@h100 job_gpu.slurm # pour des heures GPU H100- soit via la directive Slurm
#SBATCH --account=...dans l'en-tête du script de soumission :
#SBATCH --account=my_project@cpu#SBATCH --account=my_project@v100#SBATCH --account=my_project@a100#SBATCH --account=my_project@h100 - soit via l'ajout de l'option
- Le type d'heures indiqué (
cpu,v100,a100ouh100) doit être en accord avec la partition et la QoS choisies pour l'exécution du job (#SBATCH --partition=cpu_...et#SBATCH --qos=qos_cpu-...) ou (#SBATCH --partition=gpu_...et#SBATCH --qos=qos_gpu-...). Pour plus d'information, vous pouvez consulter notre documentation détaillant les partitions et les Qos (CPU et GPU). - La variable d'environnement
IDRPROJréférence le projet actif auquel vous êtes actuellement rattaché. Sa valeur (echo $IDRPROJ) peut donc être utilisée pour valoriser la chaîne de caractèresmy_project. - Pour connaître toutes les valeurs possibles pour valoriser la chaîne de caractères
my_projectet qui référencent vos différents projets, vous pouvez utiliser la commande IDRISidrproj(voiridrproj -h). Par exemple pour un login rattaché à deux projetsprj1etprj2:
Dans ce cas,idrprojAvailable projects:
------------------------------------------------------------------------
prj1 (999999) [default][active] prj2 (999998)my_projectpeut être valorisée àprj1ouprj2.
La commande idracct
Un simple appel à la commande idracct vous indiquera, pour chacun de
vos projets, l'attribution d'heures CPU et/ou GPU, ainsi que les
consommations en heures de chaque membre.
Voici un exemple avec le projet 999999 regroupant 2 utilisateurs login1 et login2 : ici les 1000000 h CPU et les 40000 h GPU V100 sont attribuées pour la période du 01 novembre 2019 au 31 octobre 2020 :
idracctDerniere mise a jour le 15-11-2019 08:00:01
################################################################################ PROJET 999999 SUR JEAN-ZAY################################################################################
================================================================================ CPU (du 01-11-2019 au 31-10-2020) Allocation : 1000000 h.cpu================================================================================
Compte Proprietaire Consommation Nb travaux Remboursement -------- ------------------------------ ------------- ---------- ------------- login1 Nom1_Prenom1 42809.00 10 - login2 Nom2_Prenom2 12014.00 50 - -------- ------------------------------ ------------- ---------- ------------- Totaux 54823.00 60 0.00 Utilisation 0.05%
================================================================================ V100 (du 01-11-2019 au 31-10-2020) Allocation : 40000 h.gpu================================================================================
Compte Proprietaire Consommation Nb travaux Remboursement -------- ------------------------------ ------------- ---------- ------------- login1 Nom1_Prenom1 29078.83 248 - login2 Nom2_Prenom2 2706.31 163 - -------- ------------------------------ ------------- ---------- ------------- Totaux 31785.14 411 0.00 Utilisation 79.46%
La commande idracct dispose de diverses options. Pour les consulter,
utilisez l'option -h ou --help. Voici les plus utiles :
- L'option
-a(ou--accounting) permet de spécifier le type d'heures souhaité dans la sortie de la commande : CPU, V100, A100 ou H100. Attention à bien utiliser les caractères majuscules ici !
idracct -a V100Derniere mise a jour le 15-11-2019 08:00:01################################################################################
PROJET 999999 SUR JEAN-ZAY################################################################################================================================================================ V100 (du 01-11-2019 au 31-10-2020) Allocation : 40000 h.gpu================================================================================
Compte Proprietaire Consommation Nb travaux Remboursement -------- ------------------------------ ------------- ---------- ------------- login1 Nom1_Prenom1 29078.83 248 - login2 Nom2_Prenom2 2706.31 163 - -------- ------------------------------ ------------- ---------- ------------- Totaux 31785.14 411 0.00 Utilisation 79.46%
- l'option
-s(ou--summary) permet d'obtenir l'information sous un format résumé :
idracct -sDerniere mise a jour le 15-11-2019 08:00:01Projet Categorie Debut Fin Budget Unite Consommation NbTravaux Remboursement Utilise------ --------- ---------- ---------- -------- ----- ------------ --------- ------------- -------999999 CPU 01-11-2019 31-10-2020 1000000 h.cpu 54823.00 60 0.00 0.05%999999 V100 01-11-2019 31-10-2020 40000 h.gpu 31785.14 411 0.00 79.46%