1 performance analysis with vampir dkrz tutorial 2013 5 – 7 august, hamburg matthias weber, frank...

27
1 Performance Analysis with Vampir DKRZ Tutorial 2013 5 – 7 August, Hamburg Matthias Weber, Frank Winkler, Andreas Knüpfer ZIH, Technische Universität Dresden

Upload: brianne-small

Post on 27-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

1

Performance Analysis with Vampir

DKRZ Tutorial 20135 – 7 August, Hamburg

Matthias Weber, Frank Winkler,

Andreas Knüpfer

ZIH, Technische Universität Dresden

2DKRZ Tutorial 2013, Hamburg

Outline

Part I: Welcome to the Vampir Tool Suite– Mission– Event Trace Visualization– Vampir & VampirServer– Vampir Performance Charts

Part II: Vampir Hands-on– Visualizing and analyzing NPB-MZ-MPI / BT

Part III: Summary and Conclusion

3DKRZ Tutorial 2013, Hamburg

Mission

• Visualization of dynamicsof complex parallel processes

• Requires two components– Monitor/Collector (Score-P)– Charts/Browser (Vampir)

Typical questions that Vampir helps to answer:– What happens in my application execution during a given time in

a given process or thread?– How do the communication patterns of my application execute

on a real system?– Are there any imbalances in computation, I/O or memory usage

and how do they affect the parallel execution of my application?

4DKRZ Tutorial 2013, Hamburg

Event Trace Visualization with Vampir

• Alternative and supplement to automatic analysis• Show dynamic run-time behavior graphically at any level

of detail• Provide statistics and performance metrics

Timeline charts

Summary charts

– Show application activities and communication along a time axis

– Provide quantitative results for the currently selected time interval

5DKRZ Tutorial 2013, Hamburg

Vampir – Visualization Modes (1)

• Directly on front end or local machine

% vampir

Score-PTraceFile

(OTF2)

Vampir 8CPU CPU

CPU CPUCPU CPU

CPUCPU

Multi-CoreProgram

Thread parallelSmall/Medium sized

trace

6DKRZ Tutorial 2013, Hamburg

Vampir – Visualization Modes (2)

• On local machine with remote VampirServer

Score-P

Vampir 8

TraceFile

(OTF2)

VampirServer

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

CPU CPU CPU CPU

Many-CoreProgram

Large Trace File(stays on remote

machine)

MPI parallel application

LAN/WAN

% vampirserver start –n 12 % vampir

7DKRZ Tutorial 2013, Hamburg

Usage Order of the Vampir Performance Analysis Toolset

1. Instrument your application with Score-P

2. Run your application with an appropriate test set

3. Analyze your trace file with Vampir– Small trace files can be analyzed on your local workstation

1. Start your local Vampir

2. Load trace file from your local disk– Large trace files should be stored on the HPC file system

1. Start VampirServer on your HPC system

2. Start your local Vampir

3. Connect local Vampir with the VampirServer on the HPC system

4. Load trace file from the HPC file system

8DKRZ Tutorial 2013, Hamburg

Main Displays of Vampir

• Timeline Charts:

– Master Timeline

– Process Timeline

– Counter Data Timeline

– Performance Radar

• Summary Charts:

– Function Summary

– Message Summary

– Process Summary

– Communication Matrix View

9

Vampir Hands-on

Visualizing and Analyzing NPB-MZ-MPI / BT

10DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

% vampir scorep_bt-mz_B_4x4_trace/traces.otf2

Master Timeline

Navigation Toolbar

Function Summary

Function Legend

11DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Master Timeline

Detailed information about functions,

communication and synchronization events

for collection of processes.

12DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Detailed information about different levels of

function calls in a stacked bar chart for an

individual process.

Process Timeline

13DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Typical Program Phases

Initialisation Phase

Computation Phase

14DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Detailed counter information over time

for an individual process.

Counter Data Timeline

15DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Performance Radar

Detailed counter information over time

for a collection of

processes.

16DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Zoom in: Inititialization Phase

Context View:Detailed information

about function “initialize_”.

17DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Feature: Find Function

Execution of function

“initialize_” results in higher page fault

rates.

18DKRZ Tutorial 2013, Hamburg

Vampir: NPB-MZ-MPI / BT source snippet

#include "scorep/SCOREP_User.h"c--------------------------------------------------------------------c initialize datac-------------------------------------------------------------------- call timer_start(1) ...c--------------------------------------------------------------------c start the benchmark time step loopc-------------------------------------------------------------------- do step = 1, niter SCOREP_USER_REGION_BEGIN( my_region_handle, "iteration", SCOREP_USER_REGION_TYPE_COMMON ) ... call exch_qbc(...) do iz = 1, proc_num_zones call adi(...) end do SCOREP_USER_REGION_END( my_region_handle ) end do call timer_stop(1)c--------------------------------------------------------------------c perform verification and print resultsc-------------------------------------------------------------------- ...

19DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Computation Phase

Computation phase results in higher

floating point operations.

20DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

MPI communication

results in lower floating point operations.

Zoom in: Computation Phase

21DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Zoom in: Finalization Phase

“Early reduce” bottleneck.

22DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Process Summary

Function Summary: Overview of the

accumulated information across all

functions and for a collection of processes.

Process Summary:Overview of the

accumulated information across all functions and for every process independently.

23DKRZ Tutorial 2013, Hamburg

Vampir: Visualization of the NPB-MZ-MPI / BT trace

Process Summary

Find groups of similar processes and threads by

using summarized function

information.

24

Summary and Conclusion

25DKRZ Tutorial 2013, Hamburg

Summary

• Vampir & VampirServer– Interactive trace visualization and analysis– Intuitive browsing and zooming– Scalable to large trace data sizes (20 TByte)– Scalable to high parallelism (200000 processes)

• Vampir for Linux, Windows and Mac OS X

• Note: Vampir does neither solve your problems automatically nor point you directly at them. Yet, itdoes give you FULL insight into the execution ofyour application.

26DKRZ Tutorial 2013, Hamburg

Conclusion

• Performance analysis very important in HPC

• Use performance analysis tools for profiling and tracing• Do not spend effort in DIY solutions,

e.g. like printf-debugging

• Use tracing tools with some precautions– overhead– data volume

• Let us know about problems and about feature wishes:

[email protected]

27DKRZ Tutorial 2013, Hamburg

Vampir is available at http://www.vampir.eu

Get support via [email protected]