Running jobs/fr: Difference between revisions

Jump to navigation Jump to search
Updating to match new version of source page
(Created page with "À moins que votre demande ne soit différente, la quantité par défaut est de 256Mo.")
(Updating to match new version of source page)
Tags: Mobile edit Mobile web edit
Line 119: Line 119:
== Exemples de scripts ==
== Exemples de scripts ==


=== Tâche MPI ===
=== Serial job ===
A serial job is a job which only requests a single core. It is the simplest type of job. The "simple_job.sh" which appears above in [[#Use_sbatch_to_submit_jobs|"Use sbatch to submit jobs"]] is an example.


Le prochain script lance quatre processus MPI, chacun nécessitant 1024Mo de mémoire. Le temps d'exécution est limité à cinq minutes.  
<div class="mw-translate-fuzzy">
=== Lot de tâches  ===
Un lot de tâches (''task array'' ou ''array job'') sert à soumettre un ensemble de tâches à l'aide d'une seule commande. Chacune des tâches du lot se distingue par la variable d'environnement <code>$SLURM_ARRAY_TASK_ID</code> comportant une valeur distincte pour chaque instance de la tâche.
sbatch --array=0-7 ...      # $SLURM_ARRAY_TASK_ID prend des valeurs de 0 à 7 inclusivement
sbatch --array=1,3,5,7 ...  # $SLURM_ARRAY_TASK_ID prend les valeurs listées
sbatch --array=1-7:2 ...    # incréments de 2 (même résultat que dans l'exemple précédent)
sbatch --array=1-100%10 ... # limite à 10 le nombre de tâches exécutées simultanément
</div>


{{File
{{File
   |name=mpi_job.sh
   |name=array_job.sh
   |lang="sh"
   |lang="sh"
   |contents=
   |contents=
#!/bin/bash
#!/bin/bash
#SBATCH --account=def-someuser
#SBATCH --account=def-someuser
#SBATCH --ntasks=4              # number of MPI processes
#SBATCH --time=0-0:5
#SBATCH --mem-per-cpu=1024M      # memory; default unit is megabytes
#SBATCH --array=1-10
#SBATCH --time=0-00:05          # time (DD-HH:MM)
./myapplication $SLURM_ARRAY_TASK_ID
srun ./mpi_program              # mpirun or mpiexec also work
}}
}}


Les tâches intensives avec MPI, et spécifiquement celles qui peuvent utiliser efficacement des nœuds entiers, devraient utiliser <code>--nodes</code> et <code>--ntasks-per-node</code> plutôt que <code>--ntasks</code>. Il est aussi possible d'avoir des tâches hybrides qui sont à la fois exécutées en MPI et en fils multiples. Pour plus d'information sur les tâches distribuées en parallèle, consultez [[Advanced_MPI_scheduling/fr|Contrôle de l'ordonnancement avec MPI]].
<div class="mw-translate-fuzzy">
Voyez les exemples dans [[Job arrays/fr|Job arrays]] et la documentation détaillée [https://slurm.schedmd.com/job_array.html Slurm de SchedMD.com].
</div>


=== Tâche multifil ou tâche OpenMP ===  
=== Tâche multifil ou tâche OpenMP ===  
Line 151: Line 160:
./ompHello
./ompHello
}}
}}
=== Tâche MPI ===
Le prochain script lance quatre processus MPI, chacun nécessitant 1024Mo de mémoire. Le temps d'exécution est limité à cinq minutes.
{{File
  |name=mpi_job.sh
  |lang="sh"
  |contents=
#!/bin/bash
#SBATCH --account=def-someuser
#SBATCH --ntasks=4              # number of MPI processes
#SBATCH --mem-per-cpu=1024M      # memory; default unit is megabytes
#SBATCH --time=0-00:05          # time (DD-HH:MM)
srun ./mpi_program              # mpirun or mpiexec also work
}}
Les tâches intensives avec MPI, et spécifiquement celles qui peuvent utiliser efficacement des nœuds entiers, devraient utiliser <code>--nodes</code> et <code>--ntasks-per-node</code> plutôt que <code>--ntasks</code>. Il est aussi possible d'avoir des tâches hybrides qui sont à la fois exécutées en MPI et en fils multiples. Pour plus d'information sur les tâches distribuées en parallèle, consultez [[Advanced_MPI_scheduling/fr|Contrôle de l'ordonnancement avec MPI]].


Pour plus d'information, consultez la page [[OpenMP/fr|OpenMP]].
Pour plus d'information, consultez la page [[OpenMP/fr|OpenMP]].
Line 160: Line 187:
* les politiques sont différentes pour les nœuds GPU de Cedar .
* les politiques sont différentes pour les nœuds GPU de Cedar .
Pour des informations et des exemples d'ordonnancement sur les ressources GPU, consultez [[Using GPUs with Slurm/fr|Ordonnancement Slurm des tâches avec GPU]].
Pour des informations et des exemples d'ordonnancement sur les ressources GPU, consultez [[Using GPUs with Slurm/fr|Ordonnancement Slurm des tâches avec GPU]].
=== Lot de tâches  ===
Un lot de tâches (''task array'' ou ''array job'') sert à soumettre un ensemble de tâches à l'aide d'une seule commande. Chacune des tâches du lot se distingue par la variable d'environnement <code>$SLURM_ARRAY_TASK_ID</code> comportant une valeur distincte pour chaque instance de la tâche.
sbatch --array=0-7 ...      # $SLURM_ARRAY_TASK_ID prend des valeurs de 0 à 7 inclusivement
sbatch --array=1,3,5,7 ...  # $SLURM_ARRAY_TASK_ID prend les valeurs listées
sbatch --array=1-7:2 ...    # incréments de 2 (même résultat que dans l'exemple précédent)
sbatch --array=1-100%10 ... # limite à 10 le nombre de tâches exécutées simultanément
Voyez les exemples dans [[Job arrays/fr|Job arrays]] et la documentation détaillée [https://slurm.schedmd.com/job_array.html Slurm de SchedMD.com].


== Tâches interactives ==
== Tâches interactives ==
35,624

edits

Navigation menu