Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slurm:les-bases [2015/09/25 21:30] montap01 [Options sbatch] |
slurm:les-bases [2024/10/02 17:23] (Version actuelle) montap01 [Calcul sur GPU] |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
Pour exécuter un programme, vous devez le soumettre à l’ordonnanceur (// | Pour exécuter un programme, vous devez le soumettre à l’ordonnanceur (// | ||
- | ===== Soumettre un job ===== | ||
- | ==== Principe ==== | ||
- | Préparez un fichier texte qui décrit : | ||
- | * les ressources nécessaires : quantité de mémoire, nombre de CPU | ||
- | * le temps d’exécution maximum prévu | ||
- | * la // | ||
- | * la ou les commandes à exécuter | ||
- | Ensuite, la commande '' | + | ===== Premier exemple pratique ===== |
- | ==== Dépassement des ressources ==== | + | ==== Fichier batch et soumission |
- | <note important> | + | Nous créons un fichier texte '' |
- | + | ||
- | ===== Partition ===== | + | |
- | Un éléments est **primordial** quand vous soumettez un job : la // | + | |
- | * c'est un groupe de nœuds de calcul du cluster, avec une priorité | + | |
- | * des //limites// sont associées à chacune : temps maximal d' | + | |
- | * certaines sont // | + | |
- | + | ||
- | Vous pourrez par la suite consulter la liste complète des [[partitions-qos | partitions | + | |
- | + | ||
- | ==== Travaux de très courte durée ==== | + | |
- | Utilisez '' | + | |
- | * pour les travaux très courts (< 1 heure) : mise au point du code, tests | + | |
- | * limites d' | + | |
- | ==== Travaux " | + | |
- | Utilisez '' | + | |
- | * pour les jobs de temps normaux (**2 jours maximum**) | + | |
- | + | ||
- | ===== Premier exemple ===== | + | |
- | Ce premier exemple est adapté pour un programme // | + | |
- | + | ||
- | ==== Fichier batch ==== | + | |
- | Nous créons un fichier texte '' | + | |
< | < | ||
#!/bin/bash | #!/bin/bash | ||
+ | |||
#SBATCH --partition=rapide | #SBATCH --partition=rapide | ||
#SBATCH --ntasks=1 | #SBATCH --ntasks=1 | ||
Ligne 55: | Ligne 27: | ||
</ | </ | ||
- | ==== Soumission du travail ==== | ||
Ensuite, on indique à slurm que l'on veut lancer ce job : | Ensuite, on indique à slurm que l'on veut lancer ce job : | ||
sbatch mon_programme.batch | sbatch mon_programme.batch | ||
- | ==== Options sbatch ==== | + | Et voilà, votre code '' |
- | Les lignes | + | |
- | * '' | + | ==== Explications ==== |
- | * '' | + | Le fichier texte '' |
- | * '' | + | |
- | * '' | + | |
- | ==== Points d'attention ==== | + | Mais il possèdes des // |
- | <note important> | + | * la // |
- | * Vous **devez** indiquer les ressources mémoire et temps nécessaires, car les valeurs par défaut sont très basses et ne permettraient certainement pas à votre travail de se terminer | + | * les ressources nécessaires : nombre de processus qui seront lancés, quantité |
- | * Les quantités demandées en temps, CPU, mémoire doivent être compatible avec la //qos// et la // | + | * le temps d’exécution maximum prévu |
- | * Un job consommant plus de mémoire | + | |
- | </ | + | |
- | ===== Résultats du job ===== | + | Dans notre exemple : |
- | Par défaut, les sorties standards et d'erreur sont redirigés vers le fichier | + | * '' |
+ | | ||
+ | * '' | ||
+ | * '' | ||
- | ===== Inter-agir avec slurm ===== | + | Dans sa seconde partie, le fichier contient la ou les commandes à exécuter. |
- | ==== Voir la file d'attente | + | La commande '' |
- | Voir tous les jobs dans la file : | + | |
+ | Toutes les directives (''# | ||
+ | ===== Où est mon job ? Comment l'arrêter ? ===== | ||
+ | Une fois votre //job// soumis, vous pouvez examiner la //queue//, c' | ||
+ | |||
+ | Pour voir tous les jobs dans la file : | ||
squeue -l | squeue -l | ||
- | ==== Arrêter | + | Les //job// ont un //état// associé -- Les 2 principaux sont : |
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Vous pouvez stopper | ||
scancel < | scancel < | ||
- | ===== Pour plus d'information | + | |
- | Consultez le contenu de la rubrique dédiée | + | Pour plus d' |
+ | |||
+ | ==== Où sont stockés les résultats du job ? ==== | ||
+ | Slurm exécute le job depuis le dossier où vous étiez quand vous avez soumis le job. | ||
+ | |||
+ | Par défaut, les sorties standards et d'erreur (qui s' | ||
+ | |||
+ | ==== Dépassement des ressources | ||
+ | <note important> | ||
+ | |||
+ | ===== Les partitions slurm ===== | ||
+ | Un élément est **primordial** quand vous soumettez un job : la // | ||
+ | * c'est un groupe de nœuds de calcul du cluster, avec une priorité | ||
+ | * des //limites// sont associées | ||
+ | * certaines sont // | ||
+ | |||
+ | Vous pourrez par la suite consulter la liste complète des [[partitions| partitions utilisables]], ou la page [[: | ||
+ | |||
+ | ==== Travaux de très courte durée ==== | ||
+ | Utilisez '' | ||
+ | * pour les travaux très courts (< 1 heure) : mise au point du code, tests | ||
+ | * limites d' | ||
+ | ==== Travaux " | ||
+ | Utilisez '' | ||
+ | * pour les jobs les plus communs (**2 jours maximum**) | ||
+ | |||
+ | |||
+ | ==== Points d' | ||
+ | * Vous **devez** indiquer les ressources mémoire et temps nécessaires, | ||
+ | * Les quantités demandées en temps, CPU, mémoire doivent être compatible avec la // | ||
+ | * Un job consommant plus de mémoire ou de temps que demandé sera tué | ||
+ | |||
+ | |||
+ |