dkrz tutorial 2013, hamburg analysis report examination with cube markus geimer jülich...

20
DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

Upload: brittany-clarke

Post on 11-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Analysis report examination with CUBE

Markus Geimer

Jülich Supercomputing Centre

Page 2: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

CUBE

• Parallel program analysis report exploration tools– Libraries for XML report reading & writing– Algebra utilities for report processing– GUI for interactive analysis exploration

• requires Qt4

• Originally developed as part of Scalasca toolset• Now available as a separate component

– Can be installed independently of Score-P, e.g., onlaptop or desktop

– Latest release: CUBE 4.2 (August 2013)

2

Page 3: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Analysis presentation and exploration

• Representation of values (severity matrix)on three hierarchical axes– Performance property (metric)– Call-tree path (program location)– System location (process/thread)

• Three coupled tree browsers

• CUBE displays severities– As value: for precise comparison– As colour: for easy identification of hotspots– Inclusive value when closed & exclusive value when expanded– Customizable via display mode

3

Callpath

Pro

pert

y

Location

Page 4: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Analysis presentation

4

How is itdistributed across

the processes/threads?

What kind ofperformance

metric?

Where is it in thesource code?

In what context?

Page 5: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Analysis report exploration (opening view)

5

Page 6: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Metric selection

6

Selecting the “Time” metric shows total

execution time

Page 7: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Expanding the system tree

7

Distribution of selected metricfor call path by process/thread

Page 8: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Expanding the call tree

8

Distribution of selected metric across the call

tree

Collapsed: inclusive valueExpanded: exclusive

value

Page 9: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

■ Inclusive■ Information of all sub-elements aggregated into single value

■ Exclusive■ Information cannot be subdivided further

Inclusive

Inclusive vs. Exclusive values

Exclusive

9

int foo() { int a; a = 1 + 1;

bar();

a = a + 1; return a;}

Page 10: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Selecting a call path

10

Selection updatesMetric values shownin columns to right

Page 11: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Source-code view via context menu

11

Right-click opens context menu

Page 12: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Source-code view

12

Page 13: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Flat profile view

13

Select flat view tab, expand all nodes, and sort by value

Page 14: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Box plot view

14

Box plot shows distribution across the system; with

min/max/avg/median/quartiles

Page 15: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Alternative display modes

15

Data can be shown in various

percentage modes

Page 16: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Important display modes

16

• Absolute– Absolute value shown in seconds/bytes/occurances

• Selection percent– Value shown as percentage of the value of the selected node

“on the left“ (metric/call path)

• Peer percent (system tree only)– Value shown as percentage relative to the maximum peer value

Page 17: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Multiple selection

17

Select multiple nodes withCtrl-click

Page 18: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Context-sensitive help

18

Context-sensitive help available for

all GUI items

Page 19: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

CUBE algebra utilities

• Extracting solver sub-tree from analysis report

• Calculating difference of two reports

• Additional utilities for merging, calculating mean, etc.– Default output of cube_utility is a new report utility.cubex

• Further utilities for report scoring & statistics• Run utility with “-h” (or no arguments) for brief usage info

19

% cube_cut -r '<<SMG.Solve>>' scorep_smg2000/profile.cubexWriting cut.cubex... done.

% cube_diff scorep_smg2000/profile.cubex cut.cubexWriting diff.cubex... done.

Page 20: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre

DKRZ Tutorial 2013, Hamburg

Further information

CUBE– Parallel program analysis report exploration tools

• Libraries for XML report reading & writing

• Algebra utilities for report processing

• GUI for interactive analysis exploration

– Available under New BSD open-source license– Documentation & Sources:

• http://www.score-p.org– User guide also part of installation:

• `cube-config --cube-dir`/share/doc/CubeGuide.pdf– Contact:

• mailto: [email protected]

20