CHAPTER 2. GETTING STARTED
• -cores 1: run only one instance of mpicsync on each compute node
3. Format the eventlog files to OTF files:
mpiexec -cores 1 -wdir %USERPROFILE% etl2otf trace.etl
4. Copy all OTF files from compute nodes to trace directory on share:
mpiexec -cores 1 -wdir %USERPROFILE% cmd /c copy /y
‘‘* otf*’’ ‘‘\\share\userHome\Trace’’
2.3 Generation of Trace Data on Linux Systems
The generation of trace files for the (Vampir ) performance visualization tool requires a
working monitoring system to be attached to your parallel program.
Contrary to Windows HPC Server 2008 - whereby the performance monitor is inte-
grated into the operating system - recording performance under Linux is done by a
separate performance monitor. We recommend our VampirTrace monitoring facility
which is available as Open Source software.
During a program run of an application, VampirTrace generates an OTF trace file, which
can be analyzed and visualized by Vampir. The VampirTrace library allows MPI com-
munication events of a parallel program to be recorded in a trace file. Additionally,
certain program-specific events can also be included. To record MPI communication
events, simply relink the program with the VampirTrace library. A new compilation of the
program source code is only necessary if program-specific events should be added.
Detailed information of the installation and usage of VampirTrace can be found in the
‘‘VampirTrace User Manual’’
1
.
2.3.1 Enabling Performance Tracing
To perform measurements with VampirTrace, the application program needs to be in-
strumented. VampirTrace handles this automatically by default, nevertheless manual
instrumentation is possible as well.
All the necessary instrumentation of user functions, MPI, and OpenMP events is han-
dled by the compiler wrappers of VampirTrace (vtcc, vtcxx, vtf77, vtf90 and the addi-
tional wrappers mpicc-vt, mpicxx-vt, mpif77-vt, and mpif90-vt in Open MPI 1.3).
All compile and link commands in the used makefile should be replaced by the Vampir-
Trace compiler wrapper, which performs the necessary instrumentation of the program
and links the suitable VampirTrace library.
1
http://www.tu-dresden.de/zih/vampirtrace
11
2.3. GENERATION OF TRACE DATA ON LINUX SYSTEMS
Automatic instrumentation is the most convenient method to instrument your program.
Therefore, simply use the compiler wrappers without any parameters, e.g.:
% vtf90 hello.f90 -o hello
For
manual
instrumentation
with
the
VampirTrace
API
simply
include
‘‘vt user.inc’’
(Fortran) or ‘‘vt user.h’’ (C, C++) and label any user defined
sequence of statements for instrumentation as follows:
VT USER START(name) ...
VT USER END(name)
in Fortran and C, respectively in C++ as follows:
VT TRACER(‘‘name’’);
Afterwards, use
% vtcc -DVTRACE hello.c -o hello
to combine the manual instrumentation with automatic compiler instrumentation or
% vtcc -vt:inst manual -DVTRACE hello.c -o hello
to prevent an additional compiler instrumentation.
For a detailed description of manual instrumentation,
please consider the
‘‘VampirTrace User Manual’’
2
.
2.3.2 Tracing an Application
Running a VampirTrace instrumented application should normally result in an OTF
trace file stored the current working directory where the application was executed. On
Linux, Mac OS X, and Sun Solaris the default name of the trace file will be equal to the
application name. For other systems, the default name is a.otf but can be defined
manually by setting the environment variable VT FILE PREFIX to the desired name.
After a run of an instrumented application the traces of the single processes need to
be unified in terms of timestamps and event IDs. In most cases, this happens automat-
ically. If it is necessary to perform unification of local traces manually, use the following
command:
% vtunify
If VampirTrace was built with support for OpenMP and/or MPI, it is possible to speedup
the unification of local traces significantly. To distribute the unification on multiple pro-
cesses the MPI parallel version vtunify-mpi can be used as follows:
% mpirun -np vtunify-mpi
2
http://www.tu-dresden.de/zih/vampirtrace
12
CHAPTER 2. GETTING STARTED
2.4 Starting Vampir and Loading a Trace File
Viewing performance data with the Vampir GUI is very easy. On Windows the tool can
be started by double clicking its desktop icon (if installed) or by using the Start Menu.
On a Linux-based machine run “./vampir” in the directory where Vampir is installed. A
double click on the application icon opens Vampir on Mac OS X systems.
Figure 2.2: Loading a Trace Log File in Vampir
To open a trace file, select “Open. . . ” in the “File” menu, which provides a file open
dialog, depicted in Figure 2.2. It is possible to filter the files in the list. The file type
input selector determines the visible files. The default “OTF Trace Files (*.otf )” shows
only files that can be processed by the tool. All file types can be displayed by using “All
Files (*)”.
Alternatively, a command line invocation is always possible. Shown here is an example
for a Windows system. Other platforms work accordingly.
C:
\Program Files\Vampir\Vampir.exe [trace file]
To open multiple trace files at once you can give them one after another as command
line arguments:
C:
\Program Files\Vampir\Vampir.exe [file 1]...[file n]
13