Bench de LMDZ sur Vargas

Script pour réaliser un "bench" d'une révision donnée de LMDZ sur Vargas

Ce script multibench_vargas.bash se trouve sur mon compte sur Vargas (Power6 de l'IDRIS):

/homegpfs/rech/dzt/rdzt206/bench_vargas/multibench_vargas.bash

Il permet de récupérer une révision de LMDZ, la compile en modes 'seq', 'omp', 'mpi' et 'mpi_omp' et dans chacun des cas lance une simulation 32x24x11 (bench standard de l'install.sh de Fred)

En pratique, il suffit (il faut toutefois éventuellement modifier la variable LMDZ5BRANCH dans le script pour sélectionner la branche à tester; la valeur actuelle est trunk) de lancer le script:

./multibench_vargas.bash > multibench_vargas.bash.out 2>&1

Les messages en sortie mentionnent en particulier si la compilation du modèle s'est bien passée, et donnent la dernière ligne des sortie de l'exécution du GCM (qui devrait être un sympathique "Everything is cool" si tout c'est bien déroulé); par exemple:

.....

OK, compiled mpi version of GCM
x BENCH32x24x11
x BENCH32x24x11/callphys.def, 90 bytes, 1 media blocks.
x BENCH32x24x11/gcm.def, 2057 bytes, 5 media blocks.
x BENCH32x24x11/init.x, 5282 bytes, 11 media blocks.
x BENCH32x24x11/limit.nc, 8504052 bytes, 16610 media blocks.
x BENCH32x24x11/physiq.def, 2407 bytes, 5 media blocks.
x BENCH32x24x11/planete.def, 595 bytes, 2 media blocks.
x BENCH32x24x11/run.def, 597 bytes, 2 media blocks.
x BENCH32x24x11/start.nc, 308628 bytes, 603 media blocks.
x BENCH32x24x11/startphy.nc, 384584 bytes, 752 media blocks.
x BENCH32x24x11/traceur.def, 42 bytes, 1 media blocks.
x BENCH32x24x11/bench.sh, 227 bytes, 1 media blocks.
x BENCH32x24x11/supcrit.data, 10 bytes, 1 media blocks.
x BENCH32x24x11/parameter_mix.data, 45 bytes, 1 media blocks.
x BENCH32x24x11/wake.data, 26 bytes, 1 media blocks.
x BENCH32x24x11/bench.sh~, 227 bytes, 1 media blocks.
running mpi bench ...
last line of gcm output is:
Everything is cool

....

En toute fin de script, les fichiers 'restart.nc' et 'restartphy.nc' des simulations sont comparés (de façon binaire) pour tester la cohérence entre les exécutions en différents modes; on obtient alors par exemple:

Comparison between outputs from the runs:
-----------------------------------------
seq and mpi restart.nc files are identical
seq and mpi restartphy.nc files are identical
!! seq and omp restart.nc files are different !!
!! seq and omp restartphy.nc files are different !!
!! seq and mpi_omp restart.nc files are different !!
!! seq and mpi_omp restartphy.nc files are different !!
!! mpi and omp restart.nc files are different !!
!! mpi and omp restartphy.nc files are different !!
!! mpi and mpi_omp restart.nc files are different !!
!! mpi and mpi_omp restartphy.nc files are different !!
omp and mpi_omp restart.nc files are identical
omp and mpi_omp restartphy.nc files are identical

 

Le script admet un éventuel argument, le numéro de la révision de LMDZ. Ainsi, avec:

./multibench_vargas.bash 1546 > multibench_vargas.bash.out 2>&1

on teste la révision 1546.

29 Juin 2011


 

Des récapitulatifs des benchs effectués pour les différentes branches sont disponible ici.

 

13 Décembre 2010