- Infos im HLRS Wiki sind nicht rechtsverbindlich und ohne Gewähr -
- Information contained in the HLRS Wiki is not legally binding and HLRS is not responsible for any damages that might result from its use -
Vampirtrace
The VampirTrace library allows MPI communication events of a parallel program to be recorded as 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. |
|
Introduction
Tracing an application with Vampir is done in three steps:
- Compiling with the vampirtrace wrappercompiler
- Running the application
- Analysing the trace files using vampir or vampir-server
For detailed usage of Vampirtrace see the user manual which can either be found on your local machine or in the internet.
Usage
Compiling with the vampirtrace wrappercompiler
First load the needed software module:
Now you can compile your application using the wrapper compilers vtcc, vtc++ or vtf90 as described in the user VampirTrace manual.
vtf90 -vt:f90 mpif90 vtcc -vt:cc mpicc vtcxx -vt:cxx mpicxx
Generating the trace files
Run your applicatin as usual. This will generate the needed tracefiles
Hermit special:
On Hermit it is necessary to add the -vt:mpi option. Otherwise the wrong vampirtrace libraries will be used.
BW-Grid special:
On the BW-Grid you first have to login to a node as some libs are not accessible from the frontend
Viewing traces with vampir or Vampir-Server
There are two GUIs available to view your trace files: Vampir and Vampir-Server. For both you will need read access to all generated output files (*.def.z, *.events.z, *.otf).
Vampir
Vampir is the sequential version of the graphical trace file analyzing software. It is capable of analyzing smaller trace files and should not be used for files which have 100MB or more.
Vampir-Server
Vampir-Server is the parallel version of the graphical trace file analyzing software. It can be found on the SX-8 frontend (a1.hww.de). The tool consists of a client and a server. The server itself is a parallel MPI Program.
First load the necessary software module
Now start the server and afterwards the client
on laki:
on hermit:
Remember the port number which will be displays as you will need it later on. Then start the graphical client
The last step is to connect the client to the server using the port number offered you from the server. This is done under
file <math>\rightarrow</math> Connect to Server ...
Then you can open your traces via
file <math>\rightarrow</math> Open Tracefile ...
Select the desired *.otf file
Trouble shooting
Incomplete trace files
[0]VampirTrace: Maximum number of buffer flushes reached (VT_MAX_FLUSHES=1) [0]VampirTrace: Tracing switched off permanently
Trace data did not fit into a single VampirTrace buffer. Unlimit the number of buffer reuses with
Not enough space on /tmp
[0]VampirTrace: FATAL: OTF_WStream_writeLeave failed: ERROR in function OTF_WBuffer_writeUint64, ... OTF_WBuffer_guarantee() failed.
Check if /tmp has filled up to 100% by executing
A solution is to use a workspace in combination with the VT_PROFM_LDIR variable:
Library issues on NEC
Try to export LD_LIBRARY_PATH