Privacy & Legal Notice
The Vampir/GuideView (VGV) software package is a set of analysis tools that consist of compilers (C/C++ and Fortran), an instrumentation trace library, and a graphical user interface (GUI). VGV provides performance measurement, visualization, analysis, and improvement tools for OpenMP and/or MPI applications.
* Compiler support for profiling and OpenMP instrumentation is not available on this platform. Please see the section Generating Performance Data without the VGV Compiler.
VGV provides compile scripts vguidec, vguidec++, vguidef77, and vguidef90 to use the VGV compilers to insert instrumentation and link with the VT library.
Links to these scripts and the vampir GUI are provided in /usr/local/bin, so typical users should not need to modify their PATH to run these commands. These scripts begin can be found in the /usr/local/tools/kppp/vgv/bin directory while the vampir GUI resides in /usr/local/tools/kppp/bin.
A variety of documentation can be found in the /doc directory of the latest release (/usr/local/tools/kppp/doc).
|VGV-usersguide-ASCI-*.pdf||Documentation on the unique features of VGV; not a definitive manual of all aspects of the tool.|
|Release-Notes-ASCI-*.pdf||Information regarding issues addressed in the current release.|
|README.novice||Novice agent README.|
|VT.pdf||Documentation for the commercial version of VT. Contains useful information specific to the VT library.|
|Vampir-userguide.pdf||User guide for the commercial vampir tool.|
|Vampir-instguide.pdf||Installation guide for the commercial vampir tool.|
Add /usr/local/tools/kppp/man to your MANPATH to get man entries for such topics as vampir and VT (the VGV instrumentation API).
Please contact the LC Hotline (firstname.lastname@example.org) with any questions or requests for assistance. There are several knowledgable VGV users available to provide support.
VampirNextGeneration (VNG) is a trace analyzer with a parallel backend which has been found to greatly increase GUI response time when viewing large amounts of trace data. VNG also includes new viewing features, such as abstracting dense communication lines into annotated regions with a circle indicating communication density.
Making use of VNG requires starting a server, starting the front end, connecting to the server, and opening your target trace data.
Some applications may run into complications when using the VGV compiler on certain platforms. For example, due to name-mangling differences between the VGV compiler and the IBM C++ compiler, objects compiled with the IBM C++ compiler cannot be linked with VGV-generated objects.
MPI tracing data, hardware counter data, and function profiling data can still be measured without using the VGV compiler by linking with the VT tracing library and HPM (Hardware Performance Monitor) object and making use of the VGV APIs to hand-instrument your code.
The following table illustrates necessary link flags and objects for generating MPI trace data and HPM data. In this case you would link with your standard MPI link scripts, such as mpxlf or mpiicc. Generating HPM data in this manner causes the VT library to sample HPM counters when VT trace calls (e.g. from within MPI calls) are executed. To activate counters, generate a vt_config file with COUNTER statements such as "COUNTER PAPI_TOT_INS ON". Be sure to set the environment variable VT_CONFIG to point to this file.
|MPI Tracing||AIX||IBM Compiler||-L/usr/local/tools/kppp/lib -lVT -lld -lm|
|Linux||Intel Compiler||-L /usr/local/tools/kppp/lib -lVT -lpthread -ldwarf -lelf|
|IA-64/IPF Linux (Thunder)||Intel Compiler||-ldl -Wl,--start-group -L/usr/local/tools/kppp/lib -lVT -lvtelf -ldwarf -lvtunwind -Wl,--end-group -lpthread|
|MPI Tracing and HPM Sample Data||AIX||IBM Compiler||-L/usr/local/tools/kppp/lib -L/usr/local/tools/papi/papi_default/lib -lpapi -lVT -lVTsample -lld -lm -lpmapi|
|Linux||Intel Compiler||-L/usr/local/tools/kppp/lib -L/usr/local/tools/papi/lib -Xlinker "-rpath /usr/local/tools/papi/lib" -lpapi -lVT -lVTsample -lpthread -ldwarf -lelf|
For more information on the VGV APIs, please see Chapter 4, "User-level Instrumentation with the API" in the VGV VT user's guide (/usr/local/tools/kppp/doc/VT.pdf) and Section 7.2, "Execution Scopes for Hierarchical Data Collection" in the VGV user's guide (/usr/local/tools/kppp/doc/VGV-usersguide-ASCI-*.pdf) or man VT.
A new awk script (/usr/local/tools/kppp/bin/convert-stats) has been provided to extract statistics information from a tracefile with statistics data. Statistics data will be stored in a file [application name].prot. Use the convert-stats script with the following syntax: "convert-stats [application name].prot". Activate statistics collection by pointing the environment variable VT_CONFIG at a configuration file that contains the "STATISTICS ON" directive.
Pallas and KAI provide several examples, which can be found in /usr/local/tools/kppp/examples. Copy any of these directories to your local directory and type make. You will need to identify the appropriate run* script and possibly modify the launch command to run the example.