![Page 1: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/1.jpg)
VAMPIR
URL http://www.pallas.de/pages/vampir.htm
Version VAMPIR 1.0, VAMPIRtrace 1.5
Languages Language-independent
Platforms All major HPC platforms
![Page 2: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/2.jpg)
VAMPIR
• Visualization and Analysis of MPI Resources
• Commercial tool from PALLAS GmbH
• VAMPIRtrace - MPI profiling library
• VAMPIR - trace visualization tool
![Page 3: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/3.jpg)
VAMPIRtrace
• Separate Installation and User’s Guide for each supported platform
• Works with MPICH and all vendor MPIs
• Instrumentation done by linking your application with the VAMPIRtrace library
• API for stopping and starting tracing and for inserting user-defined events into the trace file
• Trace files generated by MPI processes are automatically collected and merged into a single trace file
![Page 4: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/4.jpg)
VAMPIRtrace API
• Used to start and stop tracing and to define application-specific activities
• Error to call any VAMPIRtrace API routines before MPI_Init or after MPI_Finalize
• To disable trace collection for the local process:
– void VT_traceoff(void)
– SUBROUTINE VTTRACEOFF()
• To re-enable trace collection for the local process:
– void VT_traceon(void)
– SUBROUTINE VTTRACEON()
![Page 5: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/5.jpg)
VAMPIRtrace API (cont.)
• User-defined activities
– Process states with start and stop times
– Activitiy class can contain activities with different symbolic names
– Start and stop routines identify activity by an integer code that is attached to the class/symbol pair by first calling a definition routine
– Activity definitions are process local, but integer codes must be assigned in a globally consistent manner.
![Page 6: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/6.jpg)
VAMPIRtrace Configuration File
• Logfile-name <logfile>– Name for logfile to contain merged trace file
• Logfile-rank <rank>– Rank of process that will write logfile
• Internal-msgs [on|off]– Specifies whether communications internal to
the MPI library should be traced
![Page 7: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/7.jpg)
Configuration file (cont.)
• Activity <act_pattern> [on|off]– Defines a filter for matched activity classes
• Symbol <sym_pattern> [on|off]– Defines a filter for matched symbol names
• Filter directives are evaluated in order.
![Page 8: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/8.jpg)
Filtering Example
# disable all MPI activitiesACTIVITY MPI OFF# enable all send routinesSYMBOL MPI_*send ON# except MPI_BsendSYMBOL MPI_bsend OFF# enable receivesSYMBOL MPI_recv ON# and all test routinesSYMBOL MPI_test* ON# and all wait routinesSYMBOL MPI_wait* ON# enable all activities in the Application classACTIVITY Application ON
![Page 9: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/9.jpg)
Default Configuration
LOGFILE-RANK 0
INTERNAL-MSGS OFF
ACTIVITY * ON
![Page 10: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/10.jpg)
Limiting VAMPIRtrace Logfile Size
• Limit number of events to be logged by scaling down application input files, iteration count, number of processes, etc.
• Enable trace data collection for just a subset of the application’s runtime.
• Use the filtering mechanism to limit the set of logged events.
![Page 11: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/11.jpg)
Managing VAMPIRtrace API Calls
• Need both instrumented and uninstrumented versions
• Dummy API library libVTnull.a– Maps API calls to empty subroutines– Slight overhead
• Use C preprocessor (or equivalent tool for Fortran) to guard calls to the VAMPIRtrace API using #ifdef directives
![Page 12: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/12.jpg)
VAMPIR
• Highly configurable trace visualization tool• Originally developed by Forschungszentrum
Julich GmbH under name PARvis• Available for all major workstations and some
SMPs and MPPs• Requires graphical display running X11R5 or later
![Page 13: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/13.jpg)
VAMPIR Displays
• Process State Display
• Statistics Display
• Timeline Display
• Communications Statistics
• Configured by using– Pull-down menus– Configuration file
![Page 14: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/14.jpg)
VAMPIR Control Panel
![Page 15: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/15.jpg)
Global Timeline for entire 29-second run
![Page 16: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/16.jpg)
Magnification near 9.87-second point
![Page 17: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/17.jpg)
Statistics Display
![Page 18: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/18.jpg)
Tracing off until near end of run
![Page 19: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/19.jpg)
Selecting display options
![Page 20: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/20.jpg)
MPI Activity Selected
![Page 21: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/21.jpg)
Bar chart view of Statistics Display
![Page 22: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/22.jpg)
Selecting Timeline Portion
![Page 23: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56649eb45503460f94bbd172/html5/thumbnails/23.jpg)