![Page 1: DKRZ Tutorial 2013, Hamburg Analysis report examination with CUBE Markus Geimer Jülich Supercomputing Centre](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022062322/56649e355503460f94b2477f/html5/thumbnails/20.jpg)
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