Comment lancer un profiling?

Sur curie:

  • compiler et linker le code avec l'option -pg: l'option doit apparaître dans les lignes %BASE_FFLAGS et %BASE_LD du arch.fcm
  • renseigner la variable d'environnement
    export GMON_OUT_PREFIX=gmon.out
    à l'exécution
  • faire tourner l'exécutable comme d'habitude

 

On retrouve, après exécution, des fichiers gmon.out.* (1 par process) dans le répertoire d'exécution. On peut faire un graphe de l'arbre d'appel avec les pourcentages de temps passés dans les routines les plus gourmandes avec la commande:

gprof lmdz.x gmon.out.* | ~/gprof2dot.py | dot -T png -o output.png

dot étant une commande du module graphviz et gprof2dot.py, une routine python à récupérer sur le net