| 208 | |
| 209 | When the startup window shows up, select "Enable memory debugging". |
| 210 | |
| 211 | === MPMD === |
| 212 | |
| 213 | The script below defines how to run an MPI-OpenMP with totalview (eg: coupled LMDZ + Orchidee) program: |
| 214 | |
| 215 | {{{ |
| 216 | #!/bin/bash |
| 217 | #MSUB -r mictgrm_test # Request name |
| 218 | #MSUB -n 64 # Number of tasks to use |
| 219 | #MSUB -c 2 # Number of tasks to use |
| 220 | #MSUB -T 4000 # Elapsed time limit in seconds |
| 221 | #MSUB -o orchid_%I.o # Standard output. %I is the job id |
| 222 | #MSUB -e orchid_%I.e # Error output. %I is the job id |
| 223 | #MSUB -Q normal |
| 224 | #MSUB -D |
| 225 | #MSUB -X |
| 226 | #MSUB -A gen6328 |
| 227 | #MSUB -q standard |
| 228 | |
| 229 | |
| 230 | set -x |
| 231 | module unload netcdf hdf5 |
| 232 | module load netcdf/4.3.3.1_hdf5_parallel |
| 233 | module load hdf5/1.8.9_parallel |
| 234 | module load totalview |
| 235 | |
| 236 | #module load ddt |
| 237 | #unset SLURM_SPANK_AUKS |
| 238 | |
| 239 | # enable core dump file in case of error |
| 240 | ulimit -c unlimited |
| 241 | |
| 242 | export KMP_STACKSIZE=3g |
| 243 | export KMP_LIBRARY=turnaround |
| 244 | export MKL_SERIAL=YES |
| 245 | OMP_NUM_THREADS=2 |
| 246 | |
| 247 | cat << END > pp.conf |
| 248 | 4 ./xios.x |
| 249 | 60 totalview ./lmdz.x |
| 250 | END |
| 251 | |
| 252 | mpirun -tv -n 4 ./xios.x : -n 60 ./lmdz.x |
| 253 | }}} |
| 254 | |
| 255 | In this specific case, coupled lmdz + Orchidee runs 60 MPI procs and 4 XIOS procs with 2 OpenMP threads. In total, it requires 128 procs. |