170 likes | 248 Views
Dive into the world of Vampir, a powerful performance evaluation tool, through a project proposal journey. Encounter challenges in installation and discover how VampirTrace can enhance MPI applications.
E N D
Adventures in Mastering the Use of Performance Evaluation Tools Manuel Ríos Morales ICOM 5995 December 4, 2002
Overview • Project Proposal • Original Goals • Problems Encountered • Project Changes • Revised Goals • New Problems • Final Revision
Project Proposal • Original Goals • Master a performance evaluation tool and use it to evaluate the performance of an existing benchmark. • Tool selected: AIMS • Benchmark: FT kernel of the NPB • Why AIMS? • Provides tools for measurement and analysis of performance of parallel programs. • Can be used to highlight problem areas that can be modified to improve program execution.
Problems Encountered • Installation • Quite challenging • Required modification of makefiles and debugging of some modules • Instrumentation • Couldn’t be achieved due to bugs in the software.
Project Changes • Revised Goals • Performance evaluation tool changed to Vampir. • New Problems • Compilation of the FT benchmark • Installation of VampirTrace
Final Revision • Project goals • Understanding basic features of Vampir with the use of an example provided in the Vampir package.
Vampir Analysis Tool • Vampir consists of two packages: • Vampir: Tracefile visualization program with a graphical user interface for XWindows desktops. • VampirTrace: Instrumented MPI library to link with the user code for automatic tracefile generation on a parallel platform.
VampirTrace • Tool for MPI applications that produces tracefiles that can be analyzed with Vampir. • Records all calls to the MPI library and all transmitted messages. • Allows defining and recording arbitrary user defined events. • Using it requires relinking the application with the VampirTrace profiling library.
VampirTrace (cont.) • mpicc -o test test.c -L/$HOME/VampirTrace/lib/libVT.a –lVT • patch_mpicc • Modifies mpicc command to include the –vt option • Mpicc –vt –o test test.c
Vampir • Tool for visualization and analysis of MPI programs • Understand the application behavior • Analyze the performance of subroutines or code blocks • Learn about communication patterns, parameters and performance • Identifycommunication hotspots
Vampir (cont.) • Basics • Loading Tracefiles • Displays
Global Timeline Display (cont.) • It will automatically open when paused or finished loading a tracefile. • Shows all analyzed state changes for each process over the complete period of time in one display. • Zoom ability allows getting detailed information of the runtime behavior of the traced program.
Activity Chart Display • Shows a statistic about the time spent in each activity individually for each process defined in the tracefile.
Summary Chart Display • Displays the sum of the time consumed by all instrumented activities over all selected processes.
Final Thoughts • Tools that facilitate the instrumentation and visualization of parallel program execution are invaluable. • Programmers can benefit from using these tools since the help highlight any problem areas that can be modified to improve program execution.