Profiling your binary

From ScientificComputing
Revision as of 08:58, 17 November 2016 by Cpousari (talk | contribs)

Jump to: navigation, search

Introduction

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

A good quick tutorial for gprof is available in gprof quick tutorial

PAPI

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
[leonhard@euler05 ~]$ amplxe-gui

and the GUI of intel Vtune will start.