Profiling your binary
Introduction
Profiling a binary is a way to dynamically analyze a program at runtime in order to identify the parts where its performance can be boosted/improved.
On our HPC clusters, we support the following tools:
- gprof gprof
- Performance Application Programming Interface PAPI
- Intel vtune amplifier xe Vtune Amplifier XE
Gprof
You can find a good quick tutorial for gprof at gprof quick tutorial
PAPI
PAPI provides you an interface that you can use to instrument and profile your code. PAPI provides ways to get performance counter hardware, which is found in our HPC Clusters. Please have a look at PAPI doc for a documentation about PAPI.
Intel Vtune amplifier xe
Vtune amplifier is a tool that helps you to optimize your program by doing a profiling analysis. It supports command line and graphical user interface (GUI), which requires X11-forwarding to be configured. Tutorials on how you can use it are available in the Intel website vtune
To use Vtune, you need to start an interactive job running on a compute node in order to run the program that you would like to profile.
- CLI: on the compute node of the interactive job
[sfux@eu-login-38 ~]$ amplxe-cl <-action> program
- GUI: on a shell on any login node with X11-forwarding:
[sfux@eu-login-38 ~]$ amplxe-gui
and the GUI of intel Vtune will start.