= 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é. [[PageOutline]] == 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 {{{ time ./gcm.e }}} * Résultat : poe lance 16 tâches, avec toute le même programme : gcm.e sur 4 threads == 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 ... }}} * 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 ... }}} == 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 }}}