Optimisation
Table of Contents
This tutorial is based on these slides and is intended as a complement of them.
1. Performance analysis with gprof
and valgrind
tools
The first part of the tutorial is only available with the slides.
2. Performance analysis with intel
suite on hou10ni
The goal of this tutorial is to visualize an execution of the hou01ni
code
viewed in the hands-on 2D-3D modeling. It is once again based on the slides. We
summarize the instructions to follow here.
2.1. Step 0: Go to a miriel node
salloc -n 24 -p hpc squeue -u $USER # checkout your miriel node, here miriel005 ssh -Y miriel005
2.2. Step 1: Optional: recompile hou10ni
in debug mode
git clone https://gitlab.inria.fr/fuentes/hou10ni_school_2019.git cd hou10ni_school_2019 mkdir build cd build # enter guix environment guix environment --pure maphys --ad-hoc maphys pastix starpu vim -- /bin/bash --norc cmake .. -DCMAKE_BUILD_TYPE=Debug make -j 4 # exit guix environment exit
2.3. Step 2: Instrument
guix environment --pure maphys --ad-hoc maphys pastix starpu vim emacs -- /bin/bash --norc export PATH=$PATH:/cm/shared/modules/intel/ivybridge/parallel_studio/2019_update4/advisor/bin64 # Un comment this if needed: # cd ${HOME}/hou10ni_school_2019/build mpirun -np 1 advixe-cl --collect survey --project-dir=Hou10ni --ignore-checksums --no-auto-finalize ./hou10ni_lite.out < param_simple_maphys.txt mpirun -np 1 advixe-cl --collect tripcounts --ignore-checksums --project-dir=Hou10ni --flop --no-trip-counts -- ./hou10ni_lite.out < param_simple_maphys.txt exit # env # exit # uncomment if you want to vizualie on the frontal node
2.4. Step 3: visualize on miriel
or
# ssh -Y miriel005 # Uncomment that possibly # export PATH=$PATH:/cm/shared/modules/intel/ivybridge/parallel_studio/2019_update4/advisor/bin64 advixe-gui&
Once the graphical interface is opened, in the menu you can selec File
,
Open->Project
, select the Hou10ni
repository (because of the
--project-dir=Hou10ni
above option). You can switch between the roofline
and
summary
by clicking on the respective vertical buttons.