170 likes | 244 Views
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
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.