= __Utiliser Modipsl sur curie = '''[wiki:platform/documentation Index]/[wiki:Modipsl_envCalc Environnement de Calcul]/[wiki:Modipsl_curie Curie]''' [[PageOutline]] [[BR]][[BR]] == Documentation en ligne == Vous trouverez la documentation fournie par le TGCC [https://www-tgcc.ccc.cea.fr ICI] (dans l'onglet TGCC) , Donnez votre login/mot de passe du TGCC/CCRT. Il y a également de la documentation Best Practice Guide Curie sur le site Prace : http://www.prace-ri.eu/IMG/pdf/Best-Practice-Guide-Curie.pdf (pdf). == Environnement minimum == * Vérifiez que votre PATH contient bien le path pour l'outil FCM. Plus d'infos [https://forge.ipsl.jussieu.fr/igcmg/wiki/Modipsl_compil#FCM là]. == Commandes de gestion de job == * {{{ccc_msub mon_job}}} -> soumet un job * {{{ccc_mdel ID}}} -> tue un job de n° ID * {{{ccc_mstat -u login}}} -> permet de voir tous les jobs soumis par login * {{{ccc_mpp}}} -> permet de voir tous les jobs soumis sur la machine. {{{ ccc_mpp -n }}} pour ne pas avoir les couleurs. * {{{ ccc_mpp -u $(whoami)}}} ->permet de voir ses jobs. * {{{ccc_mpeek ID}}} -> permet de voir le listing de sortie d'un job. A savoir les sorties des jobs sont visibles au fur et à mesure de leur avancement. * {{{ccc_mpinfo}}} pour connaitre l'état des classes et l'occupation des processeurs associés. Exemple : {{{ /usr/bin/ccc_mpinfo --------------CPUS------------ -------------NODES------------ PARTITION STATUS TOTAL DOWN USED FREE TOTAL DOWN USED FREE MpC CpN SpN CpS TpC --------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ---- --- --- --- --- standard up 79920 0 64251 15669 4995 0 4016 979 4000 16 2 8 1 large up 9600 0 8002 1598 300 0 251 49 4000 32 4 8 1 hybrid up 1144 0 1056 88 143 0 132 11 2900 8 2 4 1 }}} * détail sur un job en train de tourner. Une ligne par commande ccc_mprun : {{{ ccc_mstat -H 375309 JobID JobName Partitio ReqCPU Account Start Timelimit Elapsed State ExitCode ------- ---------- -------- ------ ------------------ ------------------- ---------- ---------- ---------- -------- 375309 v3.histor+ standard 0 gen0826@standard 2012-05-11T16:27:53 1-00:00:00 01:49:03 RUNNING 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T16:28:16 00:14:19 COMPLETED 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T16:42:47 00:12:54 COMPLETED 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T16:55:59 00:13:30 COMPLETED 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T17:09:31 00:13:22 COMPLETED 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T17:24:06 00:13:36 COMPLETED 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T17:37:54 00:13:31 COMPLETED 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T17:51:28 00:14:19 COMPLETED 0:0 375309+ p86maf_ru+ 32 gen0826@standard 2012-05-11T18:05:57 00:10:59 RUNNING 0:0 }}} * information sur code d'erreur des jobs : ccc_maccct nqsid * ce job est bien passé : {{{ ccc_macct 698214 Jobid : 698214 Jobname : v5.historicalCMR4.452 User : p86maf Account : gen2211@s+ Limits : time = 1-00:00:00 , memory/task = Unknown Date : submit=06/09/2012 17:51:56, start=06/09/2012 17:51:57 , end= 07/09/2012 02:20:28 Execution : partition = standard , QoS = normal Resources : ncpus = 53 , nnodes = 4 Nodes=curie[2166,5964,6002,6176] Memory /step ------ Resident (Mo) Virtual (Go) JobID Max (Node:Task) AveTask Max (Node:Task) AveTask ----------- ------------------------ ------- -------------------------- ------- 698214 0( : 0) 0 0.00( : 0) 0.00 698214.batch 25(curie2166 : 0) 0 0.00(curie2166 : 0) 0.00 698214.0 952(curie2166 : 0) 0 3.00(curie2166 : 1) 0.00 ... 698214.23 952(curie2166 : 0) 0 3.00(curie2166 : 2) 0.00 Accounting / step ------------------ JobID JobName Ncpus Nnodes Ntasks Elapsed State ExitCode ------------ ------------ ------ ------ ------- ------------ ---------- ------- 698214 v5.historic+ 53 4 08:28:31 COMPLETED 0:0 698214.batch batch 1 1 1 08:28:31 COMPLETED 698214.0 p86maf_run_+ 53 4 53 00:20:53 COMPLETED 698214.1 p86maf_run_+ 53 4 53 00:20:20 COMPLETED ... 698214.23 p86maf_run_+ 53 4 53 00:21:06 COMPLETED }}} * ce job s'est planté avec un code d'erreur {{{ ccc_macct 680580 Jobid : 680580 Jobname : v5.historicalCMR4 User : p86maf Account : gen2211@s+ Limits : time = 1-00:00:00 , memory/task = Unknown Date : submit=30/08/2012 17:10:06, start=01/09/2012 04:11:30 , end= 01/09/2012 04:42:48 Execution : partition = standard , QoS = normal Resources : ncpus = 53 , nnodes = 5 Nodes=curie[2097,2107,4970,5413,5855] Memory /step ------ Resident (Mo) Virtual (Go) JobID Max (Node:Task) AveTask Max (Node:Task) AveTask ----------- ------------------------ ------- -------------------------- ------- 680580 0( : 0) 0 0.00( : 0) 0.00 680580.batch 28(curie2097 : 0) 0 0.00(curie2097 : 0) 0.00 680580.0 952(curie2097 : 0) 0 3.00(curie2097 : 1) 0.00 680580.1 316(curie2097 : 8) 0 2.00(curie2097 : 8) 0.00 Accounting / step ------------------ JobID JobName Ncpus Nnodes Ntasks Elapsed State ExitCode ------------ ------------ ------ ------ ------- ------------ ---------- ------- 680580 v5.historic+ 53 5 00:31:18 COMPLETED 0:9 680580.batch batch 1 1 1 00:31:18 COMPLETED 680580.0 p86maf_run_+ 53 5 53 00:19:48 COMPLETED 680580.1 p86maf_run_+ 53 5 53 00:10:06 CANCELLED b+ }}} == Noeuds fins/noeuds larges == Sur le couplé IPSLCM5A-LR, les noeuds larges vont moins vite que titane (130%). Les noeuds fins vont 2 fois plus vite que les noeuds larges pour les calculs et aussi vite pour les post-traitements. Pour utiliser les noeuds fins, penser ajouter #MSUB -q standard dans l'entête des jobs. Depuis le 4 juillet 2012 et libIGCM_v2.0_beta3, le job de calcul de curie est sur noeuds fins et les jobs de post-traitements sur curie sont sur noeuds large. Les post-traitements classiques vont aussi vite sur noeud large et noeud fin. == Astuces == * export LANG=POSIX pour afficher correctement curie.info * cdc.info renvoie des informations importantes comme les dates des prochaines maintenances * utiliser curie pour gérer vos répertoires CCCWORKDIR/CCCSTOREDIR. Attention il peut y avoir un temps de retard entre la vision depuis curie et depuis titane. Par exemple un fichier détruit sur curie peut être vu comme détruit sur titane avec un délai (synchronisation des caches). == Avant de lancer un Job == === Modifier la limite de temps CPU === Dans le Job n'oubliez pas de modifier la limite de temps CPU demandée {{{ #MSUB -T 1800 # Limite temps (en secondes) }}} === Test QoS === QoS (Quality of Service) est un queue test. On peut maximum avoir 2 jobs en queue test limité à 30min et 8 nodes (= 256tasks). Dans l'entête ajouter : {{{ #MSUB -Q test }}} === Choisir son groupe de soumission === Par défaut les entêtes de Job créés par modipsl sont positionnées pour utiliser les heures genci du groupe gen2211. [[BR]] La première chose que vous devez faire c'est de vous demander sur quel compte vous avez des heures de calcul (genci ou dsm ?). Pour cela vous devez vous reporter à la demande d'heures de calcul faite en début d'année. * Si vous appartenez au groupe gen2211 et que vous avez des heures sur ce projet vous n'avez rien à changer. * Si vos heures sont sur un autre projet genci vous devez modifier le numéro de projet dans le fichier libIGCM/AA_job ainsi que dans libIGCM/AA_rebuild_fromWorkdir. ''Note 1: '' si vous aviez déjà lancé la commande '''./ins_job''' vous devez également modifier les jobs créés (libIGCM/rebuild_fromWorkdir.job et config/.../EXP.../Job...) [[BR]] ''Note 2: '' pour connaître les groupes auxquels vous appartenez vous pouvez utiliser la commande ''' groups''' == Soumission du Job == {{{ ccc_msub Job_nom_simul }}} [[BR]] == Les post-traitements == * Les post-traitements se font sur la machine curie noeuds larges. * L'équivalent du dmget sur le cccstoredire est la commande "ccc_hsm get nom_fichier" == Les messages de fin de job == Pour recevoir les messages de fin de job envoyés par le job de calcul lui-même : fin de simulation, plantage, .... il ne faut rien faire de spécial. L'adresse prise en compte est celle contenue dans le fichier $HOME/.forward. == Compiler le modèle IPSLCM5A == Marche par défaut sans rien changer depuis avril 2012. Attention si vous utilisez LMDZ avec de la plus haute résolution et avez besoin de plus de mémoire pour LMDZ, il faut spécifier pour LMDZ et pour toutes les composantes (IOIPSL, NEMO, Orchidee, PRISM) à la compilation et à l'édition de liens : mcmodel=medium ou mcmodel=large. [[BR]][[BR]] == Faire une simulation avec le modèle IPSLCM5A == * Il vaut mieux partir d'un restart pour l'atmosphère. Le lancement de create_eta0 doit se faire ainsi : ccc_mprun -n 1 create_etat0... * Si vous travaillez sur 32 processus ('''!JobNumProcTot=32''') cela signifie que la composante atmosphérique tournera sur 26 CPUs alors que la composante océanique sur 5 CPUs et le coupleur oasis une seule. C'est ce qui se passe par défaut. * Si vous avez besoin d'un restart, certains Restart créé sur DMFDIR ont été rapatrié là : /ccc/work/cont003/dsm/p86ipsl/IGCM_RESTART, comme par exemple : /ccc/work/cont003/dsm/p86ipsl/IGCM_RESTART/IPSLCM5A/PROD/piControl/piControl2/???/Restart/piControl2_24991231* * Voir outil de synchronisation : http://wiki.ipsl.jussieu.fr/EsciComptes#Les_Restarts * La liste de ces fichiers au 22 novembre 2012 est la suivante : {{{ # User parameters # OtherLogin JobName ExperimentName SpaceName TagName DateRestart # $1 $2 $3 $4 $5 $6 ##p86caub piControl2 piControl PROD IPSLCM5A 18491231 ##p86caub piControl2 piControl PROD IPSLCM5A 18591231 ##p86caub piControl2 piControl PROD IPSLCM5A 18691231 ##p86caub piControl2 piControl PROD IPSLCM5A 19741231 ##p86caub piControl2 piControl PROD IPSLCM5A 19851231 ##p86caub piControl2 piControl PROD IPSLCM5A 19991231 ##p86caub piControl2 piControl PROD IPSLCM5A 24991231 ##p86denv v3.historical1 historical PROD IPSLCM5A 19551231 ##p86denv v3.historical1 historical PROD IPSLCM5A 19591231 ##p86denv v3.historical2 historical PROD IPSLCM5A 19491231 ##p86denv v3.historical3 historical PROD IPSLCM5A 19491231 ##p86maf v3.historical4 historical PROD IPSLCM5A 19491231 p86denv v3.historical6 historical PROD IPSLCM5A 19491231 p86denv v3.historical1 historical PROD IPSLCM5A 19901231 p86denv v3.historical2 historical PROD IPSLCM5A 19901231 p86denv v3.historical3 historical PROD IPSLCM5A 19901231 p86maf v3.historical4 historical PROD IPSLCM5A 19901231 p86denv v3.historical6 historical PROD IPSLCM5A 19901231 ##p86denv v3.historical1 historical PROD IPSLCM5A 20051231 ##p86denv v3.historical2 historical PROD IPSLCM5A 20051231 ##p86denv v3.historical3 historical PROD IPSLCM5A 20051231 ##p86maf v3.historical4 historical PROD IPSLCM5A 20051231 p86denv v3.historical6 historical PROD IPSLCM5A 20051231 ##p48ethe CpiControl01 CpiControl PROD IPSLCM5A_C 18491231 ##p86cadul SPINUP_piControlMR2ORC_23 OL2 . . 20991231 ##p86maf piControlMR3 piControl PROD IPSLCM5A-MR 18791231 ##p86maf piControlMR3 piControl PROD IPSLCM5A-MR 18691231 ##p86maf piControlMR3 piControl PROD IPSLCM5A-MR 18591231 ##p86maf piControlMR3 piControl PROD IPSLCM5A-MR 18491231 ##p86maf piControlMR2 piControl DEVT IPSLCM5A-MR 24191231 ##p86maf piControlMR1 piControl PROD IPSLCM5A-MR 20991231 ##p86maf piControlMR0 piControl DEVT IPSLCM5A-MR 18501231 ##p86denv v3.rcp60.1 rcp60 PROD IPSLCM5A 21001231 ##p86denv v3.rcp60.1 rcp60 PROD IPSLCM5A 20991231 ##p86denv v3.rcp26.1 rcp26 PROD IPSLCM5A 21001231 ##p86maf v3.rcp26.2 rcp26 PROD IPSLCM5A 21001231 ##p86denv v3.rcp26.3 rcp26 PROD IPSLCM5A 21001231 ##p86denv v3.rcp45.1 rcp45 PROD IPSLCM5A 21001231 ##p86denv v3.rcp45.2 rcp45 PROD IPSLCM5A 21001231 ##p86denv v3.rcp45.3 rcp45 PROD IPSLCM5A 21001231 ##p86denv v3.rcp45.4 rcp45 PROD IPSLCM5A 21001231 ##p86denv v3.rcp85.1 rcp85 PROD IPSLCM5A 21001231 ##p86denv v3.rcp85.2 rcp85 PROD IPSLCM5A 21001231 ##p86denv v3.rcp85.3 rcp85 PROD IPSLCM5A 21001231 ##p86denv v3.rcp85.4 rcp85 PROD IPSLCM5A 21001231 ##p86maf v5.rcp85MR1 rcp85 PROD IPSLCM5A-MR 21001231 }}} == Erreurs fréquentes sur curie lors de l'execution des simulations == En règle générale, ne pas se poser de question, faire clean_month et resoumettre. === Fatal dans run.card === Depuis libIGCM_v2_beta2, les jobs de post-traitements qui se plantent arrêtent le job de calcul en mettant le mot clé Fatal dans config.card. Il faut alors chercher le job de post-traitement qui n'a pas fonctionné, le relancer à la main puis modifier run.card et resoumettre le job de calcul. Dans ces cas-là, on a du recevoir 2 messages simulation failed. === il n'y a pas de fichier restart pour lmdz? === Symptôme : * ccc_mprun renvoie toujours un code à 0. S'il y a un plantage sur le couplé, la chaîne s'arrête car il n'y a pas de fichier restart pour lmdz. Remède : * regarder dans le sous-répertoire Debug si le fichier de type *error existe. Il contient les messages d'erreurs en clair. * regarder dans le répertoire d'execution $SCRATCHDIR/RUN_DIR/xxxx/IPSLCM5A/xxxx le fichier out_run_file. S'il contient : {{{ srun: First task exited 600s ago srun: tasks 0-40,42-45: running srun: task 41: exited abnormally srun: Terminating job step 438782.1 slurmd[curie1150]: *** STEP 438782.1 KILLED AT 2012-06-10T18:45:41 WITH SIGNAL 9 *** slurmd[curie1151]: *** STEP 438782.1 KILLED AT 2012-06-10T18:45:41 WITH SIGNAL 9 *** srun: Job step aborted: Waiting up to 2 seconds for job step to finish. slurmd[curie1150]: *** STEP 438782.1 KILLED AT 2012-06-10T18:45:41 WITH SIGNAL 9 *** slurmd[curie1151]: *** STEP 438782.1 KILLED AT 2012-06-10T18:45:41 WITH SIGNAL 9 *** }}} ne pas se poser de question. Faire un clean_month et relancer la simulation. === erreurs lors des créations ou transferts de fichiers === Les file system CCCWORKDIR, CCCSTOREDIR, SCRATCHDIR sont fragiles. Les messages rencontrés sont de ce genre : {{{ Input/output error Cannot send after transport endpoint shutdown }}} Ne pas se poser de questions et resoumettre. === erreur de job : Segmentation fault === {{{ /var/spool/slurmd/job637061/slurm_script: line 534: 458 Segmentation fault /bin/ksh -x ${TEMPO_SCRIPT} }}} Si vous voyez ce genre de message, ne pas se poser de question et resoumettre. === erreur de job : KILLED ... WITH SIGNAL 15 === {{{ slurmd[curie1006]: error: *** STEP 639264.5 KILLED AT 2012-08-01T17:00:29 WITH SIGNAL 15 *** }}} Ce message indique que vous avez dépassé la limite de temps. Comme le job continue un peu de temps il se peut que vous plantiez car il n'existe pas de fichier genre restartphy.nc. Faire un clean_month, remonter la limite de temps (ou diminuer !PeriodNb) et relancer. === erreur lors de la soumission des jobs === Ce message : {{{ error: Batch job submission failed: Job violates accounting policy (job submit limit, user's size and/or time limits) }}} indique que vous avez soumis trop de jobs. Attendre que les jobs s'écoulent et resoumettre. La commande ccc_mqinfo donne le nombre de jobs maximum, 300 à ce jour, pour les jobs de 24h max, 8 pour les jobs de 72h max et2 pour les jobs de tests (30 mn et 8 noeuds max) : {{{ ccc_mqinfo Name Priority MaxCPUs MaxNodes MaxRun MaxSub MaxTime ------ -------- ------- -------- ------ ------ ---------- long 18 1024 2 8 3-00:00:00 normal 20 300 1-00:00:00 test 40 8 2 00:30:00 }}} === attente longue avant l'execution d'un job === Le calcul des priorités de passage se fait selon un calcul de priorité basé sur 3 critères : * QOS sélectionnée (test ou pas) * Valeur de fair-share de l'account (calculée à partir de la part de calcul et de l'utilisation faite précédemment) * Age du job Si vous êtes avec un nombre petit et loin derrière les jobs qui s'exécutent et si vous êtes sur plusieurs projets, utiliser le projet qui a le moins consommé. Ce calcul ne convient pas car nous souhaiterions favoriser les logins qui font les simulations longues, plutôt que de chercher à répartir la charge sur tous les logins. Nous sommes à la recherche d'exemples concrets de situation d'attente qui nous paraissent anormales. Prenez le temps de nous les signaler, svp. === Disk quota exceeded === Attention aux quotas sur /scratch. Surveiller les avec la commande ccc_quota. Détruire les répertoires temporaires des jobs finis trop tôt sans avoir fait leur ménage dans $SCRATCHDIR/TMPDIR_IGCM et $SCRATCHDIR/RUN_DIR. Normalement vous avez 20 To de quotas sur curie. {{{ > ccc_quota Disk quotas for user xxxx: ------------------ VOLUME -------------------- ------------------- INODE -------------------- Filesystem usage soft hard grace files soft hard grace ---------- ----- ---- ---- ----- ----- ---- ---- ----- scratch 3.53T 20T 20T - 42.61k 2M 2M - store - - - - 93.76k 100k 101k - work 232.53G 1T 1.1T - 844.8k 1.5M 1.5M - }}} === REDO === Les simulations avec le couplé IPSLCM5A sont reproductibles si vous utilisez bien le même fichier Bands pour LMDZ. Voir trusting TGCC/curie sur cette page : http://webservices.ipsl.jussieu.fr/trusting/ === Retour d'expérience === ==== 20 novembre 2012 ==== La maintenance du 20 novembre 2012 a corrigé les deux derniers soucis repérés. ==== juin 2012 ==== La simulation de 100 ans de piControl, juin 2012 : * 9% des jobs de calcul ont du être resoumis à la main (3/34). * 0,6 % de l'ensembles des jobs de calcul et de post-traitements ont du être resoumis à la main (4/694). === Erreur à surveiller dans les post-traitements : WARNING Intra-file non-monotonicity. Record coordinate "time_counter" does not monotonically increase === * Pour la repérer rapidement: grep -i monoton create_ts* | awk -F: '{print $1}' |sort -u * (Commande à passer dans ${SCRATCHDIR}/IGCM_OUT/${!TagName}/${!SpaceName}/${!ExperimentName}/${!JobName}/Out. * Par exemple /ccc/scratch/cont003/dsm/p25mart/IGCM_OUT/IPSLCM5A/DEVT/lgm/LGMBR03/Out) * Exemple : {{{ + IGCM_sys_ncrcat --hst -v lon,lat,plev,time_counter,time_counter_bnds,zg v3.rcp45GHG1_20160101_20161231_HF_histhfNMC.nc v3.rcp45GHG1_20170101_20171231_HF_histhfNMC.nc v3.rcp45GHG1_20180101_20181231_HF_histhfNMC.nc v3.rcp45GHG1_20190101_20191231_HF_histhfNMC.nc v3.rcp45GHG1_20200101_20201231_HF_histhfNMC.nc v3.rcp45GHG1_20210101_20211231_HF_histhfNMC.nc v3.rcp45GHG1_20220101_20221231_HF_histhfNMC.nc v3.rcp45GHG1_20230101_20231231_HF_histhfNMC.nc v3.rcp45GHG1_20240101_20241231_HF_histhfNMC.nc v3.rcp45GHG1_20250101_20251231_HF_histhfNMC.nc v3.rcp45GHG1_20160101_20251231_HF_zg.nc ncrcat: WARNING Intra-file non-monotonicity. Record coordinate "time_counter" does not monotonically increase between (input file v3.rcp45GHG1_20190101_20191231_HF_histhfNMC.nc record indices: 418, 419) (output file v3.rcp45GHG1_20160101_20251231_HF_zg.nc record indices 4798, 4799) record coordinate values 419007600.000000, 0.000000 }}} * Vérification axe des temps non monotonique : {{{ /ccc/cont003/home/dsm/p86broc/dev_python/is_monotone.py OCE/Analyse/TS_DA/v5.historicalMR3_19800101_19891231_1D_vosaline.nc_KO_monoton time_counter False }}} * Remède : rm des fichiers TS créés et relance avec !TimeSeries_Checker === Comment utiliser le débugueur ddt pour débuguer le modèle couplé (ou tout autre code MPMD) ? === * compiler le modèle que vous souhaitez débuguer avec l'option -g (nécessaire pour avoir accès aux sources depuis l'interface ddt) * créer un répertoire de débugage dans lequel se trouve les exécutables du modèle + les fichiers d'entrée nécessaires au modèle * modifier le fichier de configuration "run_file" pour avoir quelque chose comme : {{{ -np 1 ${DDTPATH}/bin/ddt-client ${TMPDIR_DEBUG}/oasis -np 5 ${DDTPATH}/bin/ddt-client ${TMPDIR_DEBUG}/opa.xx -np 26 ${DDTPATH}/bin/ddt-client ${TMPDIR_DEBUG}/lmdz.x avec TMPDIR_DEBUG = répertoire de débugage }}} * créer un job de débugage simplifié qui permet de lancer un run dans le répertoire de débugage * ajouter dans votre job la commande "module load ddt/3.2" * ajouter un lancement de ddt dans le job. * supprimer la variable d’environnement SLURM_SPANK_AUKS : unset SLURM_SPANK_AUKS {{{ ... module load ddt/3.2 unset SLURM_SPANK_AUKS ddt }}} * être connecté sur curie en SSH avec export graphique (option -X) et ayant entré son mot de passe (si vous avez des clés SSH, sur la frontale déplacez les fichiers ~/.ssh/authorized_keys* en dehors du dossier, puis déconnectez-vous et reconnectez-vous). * lancer le job avec export graphique : ccc_msub -X Job * lorsque la fenêtre ddt apparaît : * cliquer sur "Run and Debug a Program" * dans Application, sélectionner un des 3 exécutables du modèle (peu importe lequel) * dans MPI, Implémentation choisir le mode "OpenMPI (Compatibility)" * dans mpirun arguments, mettre "--app ${TMPDIR_DEBUG}/run_file" avec TMPDIR_DEBUG = répertoire de débugage * cliquer sur "Run" puis sur la touche lecture en haut à gauche