| 209 | |
| 210 | === Comment utiliser le débugueur ddt pour débuguer le modèle couplé (ou tout autre code MPMD) ? === |
| 211 | |
| 212 | * 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) |
| 213 | * 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 |
| 214 | * modifier le fichier de configuration "run_file" pour avoir quelque chose comme : |
| 215 | {{{ |
| 216 | -np 1 ${DDTPATH}/bin/ddt-client ${TMPDIR_DEBUG}/oasis |
| 217 | -np 5 ${DDTPATH}/bin/ddt-client ${TMPDIR_DEBUG}/opa.xx |
| 218 | -np 26 ${DDTPATH}/bin/ddt-client ${TMPDIR_DEBUG}/lmdz.x |
| 219 | |
| 220 | avec TMPDIR_DEBUG = répertoire de débugage |
| 221 | }}} |
| 222 | * créer un job de débugage simplifié qui permet de lancer un run dans le répertoire de débugage |
| 223 | * ajouter dans votre job la commande "module load ddt/3.2" |
| 224 | * ajouter un lancement de ddt dans le job. |
| 225 | * supprimer la variable d’environnement SLURM_SPANK_AUKS : unset SLURM_SPANK_AUKS |
| 226 | {{{ |
| 227 | ... |
| 228 | module load ddt/3.2 |
| 229 | unset SLURM_SPANK_AUKS |
| 230 | ddt |
| 231 | }}} |
| 232 | * ê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). |
| 233 | * lancer le job avec export graphique : ccc_msub -X Job |
| 234 | * lorsque la fenêtre ddt apparaît : |
| 235 | * cliquer sur "Run and Debug a Program" |
| 236 | * dans Application, sélectionner un des 3 exécutables du modèle (peu importe lequel) |
| 237 | * dans MPI, Implémentation choisir le mode "OpenMPI (Compatibility)" |
| 238 | * dans mpirun arguments, mettre "--app ${TMPDIR_DEBUG}/run_file" avec TMPDIR_DEBUG = répertoire de débugage |
| 239 | * cliquer sur "Run" puis sur la touche lecture en haut à gauche |
| 240 | |
| 241 | |