Loop Transformations Lab Overview
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.
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
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? 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
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
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
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 8 speedup 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? 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
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
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
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
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
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% punch here! ~5 minutes 60% push these numbers up! 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 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
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
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