Version 17 (modified by mafoipsl, 12 years ago) (diff) |
---|
Entête des jobs et commandes vargas
Cette page décrit les entêtes des jobs sur vargas ainsi que les commandes à lancer pour avoir un exécutable simple ou un couplé.
-
Entête des jobs et commandes vargas
- Un executable séquentiel
- Un executable parallélisé avec OpenMP seulement
- Un executable parallélisé avec MPI seulement
- Un executable parallélisé avec MPI seulement ayant besoin de plus de …
- Un executable parallélisé avec MPI et OpenMP
- Un couplé avec Oasis sur 1 proc, NEMO sur 5 procs et LMDZ sur 26 procs, …
- Un couplé avec Oasis sur 1 proc, NEMO sur 5 procs et LMDZ sur 12 procs MPI …
- Entête du couplé IPSLCM5A sur SX9
Un executable séquentiel
- Entête du job
- Commande
time ./create_etat0_limit.e
Un executable parallélisé avec OpenMP seulement
- Entête du job
# @ job_type = serial # @ parallel_threads = 4
- Commande
time ./gcm.e
- Résultat : poe lance 1 tâche et 4 threads avec le programme : gcm.e
Un executable parallélisé avec MPI seulement
- Entête du job
# @ job_type = parallel # @ total_tasks = 32 # @ environment = "BATCH_NUM_PROC_TOT=32" # @ resources = ConsumableCpus(1)
- Commande
time ./gcm.e
- Résultat : poe lance 32 tâches, avec toute le même programme : gcm.e
- On peut tourner sur moitié moins de processeurs en ajoutant cette ligne là dans l'entête. Pas prévu dans libIGCM actuellement :
# @ task_affinity = cpu
Un executable parallélisé avec MPI seulement ayant besoin de plus de mémoire
- On peut demander plus de threads sans les utiliser pour avoir plus de mémoire. Attention cela est facturé.
- Entête du job
# @ job_type = parallel # @ total_tasks = 32 # @ parallel_threads = 2 # @ environment = "BATCH_NUM_PROC_TOT=32" ##### @ resources = ConsumableCpus(1)
Un executable parallélisé avec MPI et OpenMP
- Entête du job
# @ job_type = parallel # @ total_tasks = 16 # @ parallel_threads = 4 # @ environment = "BATCH_NUM_PROC_TOT=48"
- Commande
export XLSMPOPTS=$XLSMPOPTS:stack=524288000 time ./gcm.e
- Résultat : poe lance 16 tâches, avec toute le même programme : gcm.e sur 4 threads
- run.card : 285s avec 16MPI, 2OMP
Un couplé avec Oasis sur 1 proc, NEMO sur 5 procs et LMDZ sur 26 procs, MPI seul
- Entête du job
# @ total_tasks = 32 # @ environment = "BATCH_NUM_PROC_TOT=32" # @ resources = ConsumableCpus(1)
- Commande
time poe -pgmmodel mpmd -cmdfile ./run_file
- avec run_file contenant, oasis en premier obligatoirement:
./oasis ./opa.xx #==> 5 fois ... ./lmdz.x #===> 26 fois ...
- avec run_file contenant, oasis en premier obligatoirement:
- Résultat : poe lance 32 tâches : 1 oasis, 26 lmdz et 5 opa
Un couplé avec Oasis sur 1 proc, NEMO sur 5 procs et LMDZ sur 12 procs MPI et 4 tâches OpenMP
La méthode reste à valider.
- Entête du job :
# NEW : 2 Noeuds # @ task_geometry={(0,1,2,3,4,5,6,7,8,9,10,11)(12,13,14,15,16,17)}
- Commande :
time poe -pgmmodel mpmd -cmdfile ./run_file
- avec run_file contenant, oasis en premier :
./oasis ./opa.xx #==> 5 fois ... env OMP_NUM_THREADS=4 ./lmdz.x #====> 12 fois ...
- avec run_file contenant, oasis en premier :
Entête du couplé IPSLCM5A sur SX9
#!/usr/bin/ksh # ###################### # ## VARGAS IDRIS ## # ###################### # Nom de la requete # @ job_name = piControl2V # Type de travail # @ job_type = parallel # Fichier de sortie standard # @ output = Script_Output_piControl2V.000001 # Fichier de sortie erreur (le meme) # @ error = Script_Output_piControl2V.000001 # Nombre de processus demandes # @ total_tasks = 32 # @ environment = "BATCH_NUM_PROC_TOT=32" # Temps CPU max. par processus MPI hh:mm:ss # @ wall_clock_limit = 10:00:00 # Memoire max. utilisee par processus # @ data_limit = 3.2gb # Memoire stack demandee # @ stack_limit = 0.3gb,0.3gb # Pas d OpenMP # @ resources = ConsumableCpus(1) # Fin de l entete # @ queue