[monolith-users] Totalview and Vampir on Monolith

Torgny Faxen faxen at nsc.liu.se
Thu Apr 24 15:14:52 CEST 2003


Dear Monolith user,
NSC is happy to announce two new software tools on Monolith that we hope will be
useful and productive in your quest to analyze and debug your programs:

 - Vampir (version 3.0), for visualization of MPI runtime events.
 - Totalview (version 6.0), a graphical, source-level, multi process debugger.

Below is a short introduction on how to get started as well as links to the full documentation.

As always, for questions please send an email to support at nsc.liu.se

Both Totalview and Vampir are feature rich tools. In order to help you get the most out of these
tools, NSC are planning to give a course dedicated to Totalview and Vampir. The current plan is for
this course to be held in the fall.  If you are interested in participating, please send an email
to faxen at nsc.liu.se to help us get an indication of the interest for such a course.

Regards / The NSC support team


Vampir
------

VAMPIR is a graphical tool for analyzing the performance and message passing characteristics
of parallel programs that use the MPI message passing library.

The VAMPIR package has two parts:

a) Vampir-trace which is a library that you link in to your application. This will produce a
   trace file.
b) Vampir is used to analyze the trace file.

The full user documentation can be found at: /usr/local/tools/vampir/3.0/doc/
- Vampir-userguide.pdf for Vampir
- Vampirtrace-userguide.pdf for Vampir-trace
There are also man pages for Vampir and the Vampir-trace library routines.

Follow these steps to start using Vampir:

  1) Compile and link your MPI code for tracing. Be sure to obey the order of the various libraries:
     libVT.a must be linked before the MPI library.

       Examples on linking with Vampir trace using Fortran:
       a)  With ScaMPI and Intel compiler:

           ifc code.f -L$PAL_ROOT/lib -I/opt/scali/include -L/opt/scali/lib -lfmpi -lVT -lmpi -lpthread \
           -lPEPCF90 -ldwarf -lelf

       b)  With MPICH and Portland Group compiler:
           pgf90 simple.f -I/usr/local/mpich-1.2.4/pgi-4.0/include -L$PAL_ROOT/lib -L/usr/local/mpich-1.2.4/pgi-4.0/lib
\
           -lfmpich -lVT -lmpich -ldwarf -lelf

  2) Define the environmental variable VT_PROGNAME to be the name of the executable

  3) Run the executable as usual. In addition to the usual output this will generate a VAMPIRtrace output
     file which will have the extension ".bvt".

  4) Analyze the resulting VAMPIRtrace output file by running "vampir", specifying the .bvt file:
     "vampir a.out.bvt"
      (make sure you have the DISPLAY environment variable defined).

A very good VAMPIR tutorial is available at
http://www.arsc.edu/support/howtos/usingvampir.html

A note for existing Vampir users. This is a new release of Vampir, 3.0 , with many new features,
checkout http://www.pallas.com/e/products/vampir/index.htm for a short description.
If you for any reason wish to use Vampir 2.5 you can do so by doing:
"module unload vampir; module load vampir/2.5"


Totalview
---------

The TotalView debugger is a source-level debugger with a graphic user interface and features for debugging
distributed programs, multi process programs, and multi threaded programs.

Totalview can be used to debug "live" programs as well as postmortem debug on core files:

totalview [ filename [ corefile ]] [ options ]

where "filename" specifies the name of an executable to be debugged and "corefile" specifies the name of a core file.
The executable must be compiled with source line information (usually the -g compiler switch) in order to give
full debug capabilities.

On Monolith please note the following:

- Postmortem debug can be used from the login node.

- Live debug is only supported for interactive jobs and requires a special procedure since X-forwarding is not
  automatic through PBS:
  a) Start an interactive job, for example: "qsub -I -lwalltime=1:00:00,nodes=4".
     This will create an interactive job and the environment variable PBS_NODEFILE
     will contain a list of the nodes you interactive job is running on.
  b) In a separate window, do a "ssh" to one of the nodes in the interactive job. From
     this window you can now start "totalview executable" and do a live debug.

Options to the totalview command are described in the TotalView User's Guide. Online documentation
is located at http://www.etnus.coÂäôÇäôÇä


----------------------------------------------------------
   Torgny Faxén
   National Supercomputer Center
   Linköping University
   S-581 83 Linköping
   Sweden

   Email:faxen at nsc.liu.se
   Telephone: +46 13 285798 (office) +46 13 282535  (fax)
   http://www.nsc.liu.se
------------------------------------------------------------





More information about the monolith-users mailing list