2 Getting Started
2.1 Installation of Vampir
Vampir is available on all major platforms but naturally its installation depends on the
operation system.
2.1.1 Unix, Linux
In order to install Vampir on an Unix/Linux machine it is sufficient to unpack the tar-
ball into the installation folder. After that, start the Vampir application and follow the
instructions for license installation.
2.1.2 Mac OS X
Open the .dmg installation package and drag the Vampir icon into the applications
folder on your computer. You might need administrator rights to do so. Alternatively,
you can also drag the Vampir application to another directory that is writable for you.
After that, double click on the Vampir application and follow the instructions for license
installation.
2.1.3 Windows
On Windows platforms the provided Vampir installer makes the installation very simple
and straightforward. Just run the installer and follow the installation wizard. Install
Vampir in a folder of your choice, e.g.:
C:
\Program Files
In order to run the installer in silent (unattended) mode use the /S option. It is also
possible to specify the output folder of the installation with /D=dir. An example of a
silent installation command is as follows:
Vampir-7.5.0-Standard-setup-x86.exe /S /D=C:
\Program Files
8
CHAPTER 2. GETTING STARTED
If you want to, you can associate Vampir with OTF trace files (*.otf ) during the in-
stallation process. The Open Trace Format (OTF) is described in Chapter 1.2. This
allows you to load a trace file quickly by double-clicking it. Subsequently, Vampir can
be launched by double-clicking its icon or by using the command line interface (see
Chapter 2.4).
At the first start Vampir will display instructions for license installation.
2.2 Generation of Trace Data on Windows Systems
2.2.1 Enabling Performance Tracing
The generation of trace log files for the Vampir performance visualization tool requires
a working monitoring system to be attached to your parallel program.
The Event Tracing for Windows (ETW) infrastructure of the Windows client and server
OS’s is such a monitor. The Windows HPC Server 2008 version of MS-MPI has built-in
support for this monitor. It enables application developers to quickly produce traces in
production environments by simply adding an extra mpiexec flag (-trace). In order to
trace an application the user account is required to be a member of the “Administrator”
or “Performance Log Users” groups. No special builds or administrative privileges are
necessary. The cluster administrator will only have to add the “Performance Log Users”
group to the head node’s “Users” group, if you want to use this group for tracing. Trace
files will be generated during the execution of your application. The recorded trace
log files include the following events: Any MS-MPI application call and low-level com-
munication within sockets, shared memory, and NetworkDirect implementations. Each
event includes a high-precision CPU clock timer for precise visualization and analysis.
2.2.2 Tracing an MPI Application
The steps necessary for monitoring the MPI performance of an MS-MPI application
are depicted in Figure 2.1. First the application needs to be available throughout all
compute nodes in the cluster and has to be started with tracing enabled. The Event
Tracing for Windows (ETW) infrastructure writes eventlogs (.etl files) containing the
respective MPI events of the application on each compute node. In order to achieve
consistent event data across all compute nodes clock corrections need to be applied.
This step is performed after the successful run of the application using the Microsoft
tool mpicsync. Now the eventlog files can be converted into OTF files with help of
the tool etl2otf. The last necessary step is to copy the generated OTF files from the
compute nodes into one shared directory. Then this directory includes all files needed
by the Vampir performance GUI. The application performance can be analyzed now.
9
2.2. GENERATION OF TRACE DATA ON WINDOWS SYSTEMS
1. Run myApp with tracing enabled
2. Time-Sync the ETL logs
3. Convert the ETL logs to OTF
4. Copy OTF files to head node
Rank 0 node
ETW
MS-MPI
Trace
(.etl)
MS-MPI
MS-MPI
MS-MPI
myApp.exe
mpicsync
etl2otf
copy
Formatted
Trace (.otf)
Rank 1 node
Rank N node
…
HEAD NODE
\\share\
userHome\
myApp.exe
Trace\
trace.etl_otf.otf
trace.etl_otf.0.def
trace.etl_otf.1.events
trace.etl_oft.2.events
…
Figure 2.1: MS-MPI Tracing Overview
The following commands illustrate the procedure described above and show, as a prac-
tical example, how to trace an application on the Windows HPC Server 2008. For
proper utilization and thus successful tracing, the file system of the cluster needs to
meet the following prerequisites:
• ‘‘\\share\userHome’’ is the shared user directory throughout the cluster
• MS-MPI executable myApp.exe is available in the shared directory
• ‘‘\\share\userHome\Trace’’ is the directory where the OTF files are col-
lected
1. Launch application with tracing enabled (use of -tracefile option):
mpiexec -wdir
\\share\userHome\
-tracefile %USERPROFILE%
\trace.etl myApp.exe
• -wdir sets the working directory; myApp.exe has to be there
• %USERPROFILE%
translates
to
the
local
home
directory,
e.g.
‘‘C:
\Users\userHome’’; on each compute node the eventlog file (.etl) is
stored locally in this directory
2. Time-sync the eventlog files throughout all compute nodes:
mpiexec -cores 1 -wdir %USERPROFILE% mpicsync trace.etl
10