Loop Transformations Lab Overview

undefined
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.ht
ml
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)
EJCP 2017, June 29, Toulouse
7
Example 1: Parallel Performance
Is it better?
speedup
EJCP 2017, June 29, Toulouse
8
Example 1: Parallel Performance
How about this?
speedup
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?
speedup
EJCP 2017, June 29, Toulouse
11
Example 1: Parallel Performance
What can be wrong?
How relevant is Function A?
execution time (s)
EJCP 2017, June 29, Toulouse
12
Example 1: Parallel Performance
What can be wrong?
How good is the sequential code?
execution time (s)
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
 
Make your talk more effective
learned from Michelle Strout
Colorado State University
applicable to any 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%
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
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
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.ht
ml
Feedback
tomofumi.yuki@inria.fr
EJCP 2017, June 29, Toulouse
23
Slide Note
Embed
Share

Dive into the world of loop transformations with insights on experimental validation and the computer scientific method. Explore performance measurement, parallel performance, and more at EJCP 2017 in Toulouse.

  • Loop Transformations
  • Experimental Validation
  • Computer Science
  • Performance Measurement
  • Parallel Computing

Uploaded on Mar 03, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Lab: Introduction to Loop Transformations Tomofumi Yuki EJCP 2017 June 29, Toulouse

  2. 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

  3. Computer Scientific Method Slides from David Patterson Talk: How to Have a Bad Career In Research/Academia www.cs.berkeley.edu/~pattrsn/talks/nontech.ht ml Many nice tips for Ph.D. students and beyond EJCP 2017, June 29, Toulouse 3

  4. 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

  5. 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

  6. 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

  7. Example 1: Parallel Performance What can you say? function A 120 execution time (s) 100 80 60 function A 40 20 0 1 core 2 cores 4 cores 8 cores EJCP 2017, June 29, Toulouse 7

  8. Example 1: Parallel Performance Is it better? function A 10 8 speedup 6 function A 4 2 0 1 core 2 cores 4 cores 8 cores EJCP 2017, June 29, Toulouse 8

  9. Example 1: Parallel Performance How about this? function A 8 speedup 4 function A 2 1 1 core 2 cores 4 cores 8 cores EJCP 2017, June 29, Toulouse 9

  10. 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

  11. Example 1: Parallel Performance What can still be missing? function A 8 speedup 4 function A 2 1 1 core 2 cores 4 cores 8 cores EJCP 2017, June 29, Toulouse 11

  12. Example 1: Parallel Performance What can be wrong? How relevant is Function A? 1200 1000 execution time (s) 800 function A 600 rest 400 total 200 0 1 core 2 cores 4 cores 8 cores EJCP 2017, June 29, Toulouse 12

  13. Example 1: Parallel Performance What can be wrong? How good is the sequential code? 120 100 execution time (s) 80 parallel 60 optimized seq. 40 20 0 1 core 2 cores 4 cores 8 cores EJCP 2017, June 29, Toulouse 13

  14. Dont 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

  15. 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

  16. EJCP 2017, June 29, Toulouse 16

  17. The Punch Line Method How to Punch your audience how to attract your audience Punch Line Talk Make your talk more effective learned from Michelle Strout Normal Talk Colorado State University applicable to any talk EJCP 2017, June 29, Toulouse 17

  18. 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

  19. Typical Conference Audience Many things to do check emails browse websites finish their own slides Attention Level (made up numbers) ~3 minutes 90% punch here! ~5 minutes 60% push these numbers up! 5+ minutes 30% conclusion 70% EJCP 2017, June 29, Toulouse 19

  20. Typical (Boring) Talk 1. Introduction 2. Motivation 3. Background 4. Approach 5. Results 6. Discussion 7. Conclusion EJCP 2017, June 29, Toulouse 20

  21. Punch Line Talk Two Talks in One 5 minute talk introduction/motivation shortest path to the punch key idea X-5 minute talk the punch add some background elaborate on approach ... EJCP 2017, June 29, Toulouse 21

  22. Pitfalls of Beamer Beamer != bad slides but it is a easy path to one Checklist for good slides no full sentences LARGE font size beamer is not the best tool to encourage these few equations many figures !paper structure EJCP 2017, June 29, Toulouse 22

  23. Thats 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.ht ml Feedback tomofumi.yuki@inria.fr EJCP 2017, June 29, Toulouse 23

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#