vampir. visualization and analysis of mpi resources commercial tool from pallas gmbh vampirtrace -...

23
VAMPIR URL http://www.pallas.de/pages/vam pir.htm V ersion VAM PIR 1.0, V A M PIRtrace 1.5 Languages Language-independent Platform s Allm ajorH PC platform s

Upload: erin-mckinney

Post on 31-Dec-2015

229 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization

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

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

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

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

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

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

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

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

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

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

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

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

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

VAMPIR Control Panel

Page 15: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization

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

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

Statistics Display

Page 18: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization

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

Selecting display options

Page 20: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization

MPI Activity Selected

Page 21: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization

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

Selecting Timeline Portion

Page 23: VAMPIR. Visualization and Analysis of MPI Resources Commercial tool from PALLAS GmbH VAMPIRtrace - MPI profiling library VAMPIR - trace visualization