EJCP Lab

Lab: Introduction to Loop
Transformations
Tomofumi Yuki
EJCP 2017
June 29, Toulouse
Experimental Validation
 Essential to many scientific domain


1. Build a hypothesis
2. See if numbers support it
 In optimizing compiler research


prove optimality, or
do empirical validation
 Getting X% speedup by itself is USELESS

provide why
EJCP 2017, June 29, Toulouse
2
Computer Scientific Method
 Slides from David Patterson

Talk: How to Have a Bad Career In
Research/Academia
 www.cs.berkeley.edu/~pattrsn/talks/nontech.
html

Many nice tips for Ph.D. students and
beyond
EJCP 2017, June 29, Toulouse
3
Bad Career Move #4: Use the
Computer Scientific Method
 Obsolete Scientific Method




hypothesis
sequences of experiments
prove/disprove hypothesis
reproducible
 Computer Scientific Method



hunch!
an experiment with lots of parameters
forget if it doesn’t support hunch
EJCP 2017, June 29, Toulouse
4
Mixed Lab+Lecture
 1. Performance Measurement
 2. Loop Transformations by Hand
 3. How to Punch the Audience
 4. Lunch
EJCP 2017, June 29, Toulouse
5
Example 1: Parallel
Performance
 Setup



parallelized a function of a program
measured exec. time of the function
up to 8 cores
EJCP 2017, June 29, Toulouse
6
Example 1: Parallel
Performance
 What can you say?
execution time (s)
function A
120
100
80
60
function A
40
20
0
1 core 2 cores 4 cores 8 cores
EJCP 2017, June 29, Toulouse
7
Example 1: Parallel
Performance
 Is it better?
function A
speedup
10
8
6
function A
4
2
0
1 core
2 cores 4 cores 8 cores
EJCP 2017, June 29, Toulouse
8
Example 1: Parallel
Performance
 How about this?
function A
speedup
8
4
function A
2
1
1 core
2 cores 4 cores 8 cores
EJCP 2017, June 29, Toulouse
9
Key Principle in Plotting Data
 Make it a straight line

preferably 45 degree angle
 Reason: much easier to make claims

claiming a curve is quadratic

showing it becomes a straight line after sqrt
EJCP 2017, June 29, Toulouse
10
Example 1: Parallel
Performance
 What can still be missing?
function A
speedup
8
4
function A
2
1
1 core
2 cores 4 cores 8 cores
EJCP 2017, June 29, Toulouse
11
Example 1: Parallel
Performance
 What can be wrong?
 How relevant is Function A?
execution time (s)
1200
1000
800
function A
rest
total
600
400
200
0
1 core 2 cores 4 cores 8 cores
EJCP 2017, June 29, Toulouse
12
Example 1: Parallel
Performance
 What can be wrong?
 How good is the sequential code?
execution time (s)
120
100
80
parallel
optimized seq.
60
40
20
0
1 core
2 cores 4 cores 8 cores
EJCP 2017, June 29, Toulouse
13
Don’t Forget the Big Picture
 Always show overall performance

+ detailed results as necessary
 Common examples



exec. time only for fragments
energy consumed by the CPU
dynamic energy only
EJCP 2017, June 29, Toulouse
14
Intro to Loop Transformations
 Tiling: a very very simplistic case
 Follow the instruction at

http://people.irisa.fr/Tomofumi.Yuki/ejcp2017/
 Resume at 11h50 for last few slides
EJCP 2017, June 29, Toulouse
15
EJCP 2017, June 29, Toulouse
16
The Punch Line Method
 How to Punch your audience
how to attract your audience

learned from Michelle Strout


Colorado State University
applicable to any talk
Normal Talk
 Make your talk more effective
Punch Line Talk

EJCP 2017, June 29, Toulouse
17
The Punch Line
 The key cool idea in your paper

the key insight
 It is not the key contribution!
 X% better than Y

do well on all benchmarks
 Examples:


... because of HW prefetching
... further improve locality after reaching
compute-bound
EJCP 2017, June 29, Toulouse
18
Typical Conference Audience
 Many things to do



check emails
browse websites
finish their own slides
 Attention Level




(made up numbers)
~3 minutes 90%
~5 minutes 60%
5+ minutes 30%
conclusion 70%
punch here!
push these numbers up!
EJCP 2017, June 29, Toulouse
19
Typical (Boring) Talk
 1. Introduction
 2. Motivation
 3. Background
 4. Approach
 5. Results
 6. Discussion
 7. Conclusion
EJCP 2017, June 29, Toulouse
20
Punch Line Talk
 Two Talks in One
 5 minute talk


introduction/motivation
key idea
shortest path to the punch
the punch
 X-5 minute talk



add some background
elaborate on approach
...
EJCP 2017, June 29, Toulouse
21
Pitfalls of Beamer
 Beamer != bad slides

but it is a easy path to one
 Checklist for good slides





no full sentences
LARGE font size
few equations
many figures
!paper structure
beamer is not the best
tool to encourage
these
EJCP 2017, June 29, Toulouse
22
That’s It!
 General guides


http://matt.might.net/articles/
http://www.cs.ucla.edu/~palsberg/azuma.html
 How to do bib right

http://web.ece.ucdavis.edu/~jowens/biberrors.
html
 Feedback

[email protected]
EJCP 2017, June 29, Toulouse
23