- 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 -

Vampir: Difference between revisions

From HLRS Platforms
Jump to navigationJump to search
(Reworked entire page.)
Line 16: Line 16:
The Open Trace Format (OTF) trace consists of a file for each MPI process (<tt>*.events.z</tt>) a trace definition file (<tt>*.def.z</tt>) and the master trace file (<tt>*.otf</tt>) describing the other files. Fore details how to generate OTF traces see [[Vampirtrace]].
The Open Trace Format (OTF) trace consists of a file for each MPI process (<tt>*.events.z</tt>) a trace definition file (<tt>*.def.z</tt>) and the master trace file (<tt>*.otf</tt>) describing the other files. Fore details how to generate OTF traces see [[Vampirtrace]].


 
=== Vampir ===
To analyze small traces (< 500 MB of trace data), you can use Vampir standalone with the default backend:
To analyze small traces (< 500 MB of trace data), you can use Vampir standalone with the default backend:
{{Command|command=
{{Command|command=
Line 23: Line 23:
}}
}}


For large-scale traces (up to many thousand MPI processes), use the parallel VampirServer (on compute nodes allocated through the queuing system), and attach to it using vampir:
 
{{Command|command=<nowiki>>qsub -I -lnodes=16:nehalem:ppn=8,walltime=1:0:0
=== VampirServer ===
qsub: waiting for job 297851.intern2 to start
For large-scale traces (> 500MB and up to many thousand MPI processes), use the parallel VampirServer backend (on compute nodes allocated through the queuing system), and attach to it using vampir:
qsub: job 297851.intern2 ready
{{Command|command=qsub -I -lnodes=16:nehalem:ppn=8,walltime=1:0:0
...
module load performance/vampirserver
module load performance/vampirserver
mpirun -np 256 vampirserver-core
vampirserver start -n $((16*8 - 1))
 
}}
{{Warning|text=The number of analysis processes must not exceed the number of processes requested minus one!}}
This will show you a connection host and port:
<pre>
VampirServer 7.5.0
VampirServer 7.5.0
Licensed to HLRS
Licensed to HLRS
Running 255 analysis processes.
Running 255 analysis processes.
Server listens on: n010802:30000</nowiki>
Server listens on: n010802:30000
}}
</pre>
then on the head-node use the Vampir-GUI to "Remote open" the same file by attaching to the heavy-weight, compute nodes:
 
Open a new shell window, login to one of the login nodes of the system and open vampir.
{{Command|command=module load performance/vampir
vampir}}
Now use the "Remote open" button and enter the host and port displayed by VampirServer. Proceed and select the trace you want to open.


[[Image:vampir_remote_open.png|Example of remote open on Nehalem-Cluster]]
[[Image:vampir_remote_open.png|Example of remote open on Nehalem-Cluster]]
Please note, that <tt>vampirserver-core</tt> is memory-bound and may work best if started with only one MPI process per node, or one per socket, e.g. use Open MPI's option to mpirun <tt>-bysocket</tt>.
== VampirServer ==
Vampir-Server is the parallel version of the graphical trace file analyzing software. The tool consists of a client and a server. The server itself is a parallel MPI Program.
First load the necessary software module
{{Command
| command = module load performance/vampirserver
}}
Now start the server and afterwards the client
on laki:
{{Command
| command = mpirun -np 4 vampirserver-core &
}}
on hermit:
{{Command
| command = aprun -n 4 vampirserver-core &
}}
Remember the port number which will be displays as you will need it later on. Then start the graphical client
{{Command
| command = vng
}}
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




=== Hermit special ===
==== Hermit special ====


Request an interactive session
Request an interactive session
{{Command|command=qsub -IX -lmppwidth=64 -lmppnppn=32 -lwalltime=2:00:00}}
{{Command|command=qsub -IX -lmppwidth=64 -lmppnppn=32 -lwalltime=2:00:00}}
Load the vampirserver module
Load the vampirserver module
{{Command|command=module load performance/vampirserver}}
{{Command|command=module load performance/vampirserver}}
Start the vampirserver on the compute nodes using  
Start the vampirserver on the compute nodes using  
{{Command|command=vampirserver start -n 63 aprun}}
{{Command|command=vampirserver start -n 63 aprun}}
Line 99: Line 63:
</pre>
</pre>
{{Warning|text=The number of analysis processes must not exceed the number of processes requested with ''-lmppwidth'' minus one!}}
{{Warning|text=The number of analysis processes must not exceed the number of processes requested with ''-lmppwidth'' minus one!}}
Now forward this to one of the login nodes:
Now forward this to one of the login nodes:
{{Command|command=ssh -N -R 30000:nid03447:30000 eslogin003}}
{{Command|command=ssh -N -R 30000:nid03447:30000 eslogin003}}
Open a new terminal and login to the login node selected in the command before:
Open a new terminal and login to the login node selected in the command before:
{{Command|command=ssh -Y eslogin003.hww.de}}
{{Command|command=ssh -Y eslogin003.hww.de}}
 
Now you can proceed as normal and connect to localhost at the forwarded port number.
Now you can proceed as described in section [[Vampir]]


== See also ==
== See also ==

Revision as of 14:39, 25 January 2013

The Vampir suite of tools offers scalable event analysis through a nice GUI which enables a fast and interactive rendering of very complex performance data. The suite consists of Vampirtrace, Vampir and Vampirserver. Ultra large data volumes can be analyzed with a parallel version of Vampirserver, loading and analysing the data on the compute nodes with the GUI of Vampir attaching to it.

Vampir is based on standard QT and works on desktop Unix workstations as well as on parallel production systems. The program is available for nearly all platforms like Linux-based PCs and Clusters, IBM, SGI, SUN. NEC, HP, and Apple.

Vampir-logo.gif
Developer: GWT-TUD GmbH
Platforms:
Category: Performance Analyzer
License: Commercial
Website: Vampir homepage


Usage

Vampir consists of a GUI interface and a analysis backend. In order to use Vampir, You first need to generate a trace of Your application, preferably using VampirTrace. The Open Trace Format (OTF) trace consists of a file for each MPI process (*.events.z) a trace definition file (*.def.z) and the master trace file (*.otf) describing the other files. Fore details how to generate OTF traces see Vampirtrace.

Vampir

To analyze small traces (< 500 MB of trace data), you can use Vampir standalone with the default backend:

module load performance/vampir vampir


VampirServer

For large-scale traces (> 500MB and up to many thousand MPI processes), use the parallel VampirServer backend (on compute nodes allocated through the queuing system), and attach to it using vampir:

qsub -I -lnodes=16:nehalem:ppn=8,walltime=1:0:0

module load performance/vampirserver

vampirserver start -n $((16*8 - 1))
Warning: The number of analysis processes must not exceed the number of processes requested minus one!

This will show you a connection host and port:

VampirServer 7.5.0
Licensed to HLRS
Running 255 analysis processes.
Server listens on: n010802:30000

Open a new shell window, login to one of the login nodes of the system and open vampir.

module load performance/vampir vampir

Now use the "Remote open" button and enter the host and port displayed by VampirServer. Proceed and select the trace you want to open.

Example of remote open on Nehalem-Cluster


Hermit special

Request an interactive session

qsub -IX -lmppwidth=64 -lmppnppn=32 -lwalltime=2:00:00

Load the vampirserver module

module load performance/vampirserver

Start the vampirserver on the compute nodes using

vampirserver start -n 63 aprun

This will show you a connection host and port:

Launching VampirServer...
VampirServer 7.6.2 (r7777)
Licensed to HLRS
Running 31 analysis processes... (abort with vampirserver stop 10)
VampirServer <10> listens on: nid03447:30000
Warning: The number of analysis processes must not exceed the number of processes requested with -lmppwidth minus one!

Now forward this to one of the login nodes:

ssh -N -R 30000:nid03447:30000 eslogin003

Open a new terminal and login to the login node selected in the command before:

ssh -Y eslogin003.hww.de

Now you can proceed as normal and connect to localhost at the forwarded port number.

See also

External links