Profiling your binary
Profiling a binary is a way to dynamically analyse a program and identify parts where it can be boosted/improved.
ETH Zurich HPC clusters supports the following tools:
- gprof gprof
- Performance Application Programming Interface PAPI
- Intel vtune amplifier xe Vtune Amplifier XE
A good quick tutorial for gprof is available in gprof quick tutorial
PAPI provides an interface that developers can use to instrument their code and therefore profile it. PAPI provides ways to get performance counter hardware, which is found in the ETH HPC Clusters. Documentation on how to use PAPI is provided in PAPI doc
Intel Vtune amplifier xe
Vtune amplifier is a tool that helps developers to optimize their program by providing profiling analysis. It supports command line and graphical user interface (GUI), which requires X11-forwarding to be configured. Tutorials on how to use it are available in the Intel website vtune
To use Vtune you need to first have an interactive job running on a compute node. This will be used to run the program to be profiled.
- CLI: on the compute node of the interactive job
[leonhard@e1001 ~]$ amplxe-cl <-action> program
- GUI: on a shell on any login node with X11-forwarding:
[leonhard@euler05 ~]$ amplxe-gui
and the GUI of intel Vtune will start.