analysis report examination with cube alexandru calotoiu german research school for simulation...

20
Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials by Monika Luecke/GRS)

Upload: britton-wells

Post on 11-Jan-2016

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

Analysis report examination with CUBE

Alexandru Calotoiu

German Research School for Simulation Sciences

(with content used with permission from tutorials by Monika Luecke/GRS)

Page 2: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

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.1.6 (March 2013)

2

Page 3: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

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: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

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: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Analysis report exploration (opening view)

5

Page 6: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Metric selection

6

Selecting the “Time” metric shows total

execution time

Page 7: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Expanding the system tree

7

Distribution of selected metricfor call path by process/thread

Page 8: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Expanding the call tree

8

Distribution of selected metric across the call

tree

Collapsed: inclusive valueExpanded: exclusive

value

Page 9: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

■ 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: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Selecting a call path

10

Selection updatesMetric values shownin columns to right

Page 11: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Source-code view via context menu

11

Right-click opens context menu

Page 12: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Source-code view

12

Page 13: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Flat profile view

13

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

Page 14: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Box plot view

14

Box plot shows distribution across the system; with

min/max/avg/median/quartiles

Page 15: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Alternative display modes

15

Data can be shown in various

percentage modes

Page 16: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

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: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Multiple selection

17

Select multiple nodes withCtrl-click

Page 18: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

Context-sensitive help

18

Context-sensitive help available for

all GUI items

Page 19: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

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: Analysis report examination with CUBE Alexandru Calotoiu German Research School for Simulation Sciences (with content used with permission from tutorials

EU COST IC0805 ComplexHPC school, 3-7 June 2013, Uppsala

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