Page tree
Skip to end of metadata
Go to start of metadata

The Vampir suite is a set of tools for profiling MPI applications. Vampir itself is a proprietary GUI-based trace viewer, capable of displaying and analyzing traces stored in OTF (Open Trace Format).

Any valid OTF trace can be viewed in Vampir; the best way to generate such a trace is using the VampirTrace utility. (You may also be able to generate an OTF trace using other profiling/tracing utilities, such as TAU.) This page describes the use of the Vampir utility. For details on using VampirTrace to generate traces, see the software map entry for that utility.

Note that although Vampir and Intel Trace Analyzer are essentially different forks of the same software, they are incompatible with respect to trace file formats. Specifically, ITA reads traces stored in STF (Structured Trace Format), a proprietary format owned by Intel, and cannot read OTF traces; similarly, Vampir can no longer read STF traces.

Usage

Vampir is a GUI application, and so to use it you must be connected to raijin in a manner that forwards X windows to your local host. Suitable options are either to use SSH with X forwarding enabled (either native SSH on UNIX-based operating systems or PuTTY or MobaXterm on Windows) or VNC. For example:

ssh -X @raijin.nci.org.au

Once connected to raijin, load the vampir module:

module load vampir/8.3.0

and then launch Vampir:

vampir

This will open Vampir and present you with a window to select the trace to analyse. Refer to our software page for VampirTrace to learn how to create a trace from your code. If you would like to try Vampir before going through the effort of instrumenting your code, two sample traces are available here. For more information on the structure of an OTF execution trace, refer to Section 1.2 of the Vampir manual, or see our software page for VampirTrace.

Alternatively, you can pass the path to the trace file on the command line when launching Vampir. To do this, after loading the vampir module, navigate into the directory containing the trace file of interest, and the pass the name of the .otf file to Vampir:

vampir <filename>.otf

A basic Flash-based tutorial on how to interact with Vampir can be found here. Note that this tutorial also covers the process of instrumenting your code and generating a trace using VampirTrace. A more comprehensive use case describing the use of Vampir to locate inefficiencies in code can be found in Chapter 6 of the Vampir manual.

If your trace is too large to analyse on the login nodes (for example, you may hit the per-process memory limits that apply on the login nodes), you can use VampirServer to distribute the analysis across multiple processes. For information on setting this up, please see our software page for VampirServer.