atune-il: an instrumentation language for auto-tuning ... · atune-il: an instrumentation language...
TRANSCRIPT
![Page 1: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/1.jpg)
Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications
Christoph A. Schaefer, Victor Pankratius, Walter F. TichyInstitue for Program Structures and Data Organization (IPD)
University of Karlsruhe2009
Software Engineering Seminar
Michael Berli, December 14th 2011
![Page 2: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/2.jpg)
Motivation
Parallel Program
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/ http://lian-li.com/v2/tw/product/upload/image/pc-60fn/pc-60fn-26.jpg http://www.netzwelt.de/news/74776_3-apple-intel-produktuebersicht-erstes-fazit.html http://www.shoppydoo.co.uk/prices-desktop-packard_bell_ipower.html http://stodolatest.pl/produkt/HP_6735s_KU221EA/opinie/0/0/1
![Page 3: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/3.jpg)
Motivation
Parallel Program
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/ http://lian-li.com/v2/tw/product/upload/image/pc-60fn/pc-60fn-26.jpg http://www.netzwelt.de/news/74776_3-apple-intel-produktuebersicht-erstes-fazit.html http://www.shoppydoo.co.uk/prices-desktop-packard_bell_ipower.html http://stodolatest.pl/produkt/HP_6735s_KU221EA/opinie/0/0/1
‣ Number of Cores
‣ Memory Management
‣ Cache sizes
![Page 4: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/4.jpg)
Motivation
Parallel Program
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/ http://lian-li.com/v2/tw/product/upload/image/pc-60fn/pc-60fn-26.jpg http://www.netzwelt.de/news/74776_3-apple-intel-produktuebersicht-erstes-fazit.html http://www.shoppydoo.co.uk/prices-desktop-packard_bell_ipower.html http://stodolatest.pl/produkt/HP_6735s_KU221EA/opinie/0/0/1
‣ Number of Cores
‣ Memory Management
‣ Cache sizesgain optimal performance
![Page 5: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/5.jpg)
Motivation
Parallel Program
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/ http://lian-li.com/v2/tw/product/upload/image/pc-60fn/pc-60fn-26.jpg http://www.netzwelt.de/news/74776_3-apple-intel-produktuebersicht-erstes-fazit.html http://www.shoppydoo.co.uk/prices-desktop-packard_bell_ipower.html http://stodolatest.pl/produkt/HP_6735s_KU221EA/opinie/0/0/1 http://www.iconarchive.com/show/soft-scraps-icons-by-deleket/Gear-icon.html
Program 2 Program 3 Program 4Program 5Program 1
adjust tuning parameters
![Page 6: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/6.jpg)
Automatic Performance Tuning
‣ Auto-Tuner: Generate several program variants automatically
‣ on a specific architecture
‣ find an optimal tuning parameter configuration
Auto-Tuner
Parallel Program
performance datap1 p2 p3
parameter configuration
p1 p2 p3
p1: 2, 4, 6, 8p2: „static“, „dynamic“p3: algo1, algo2
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/
![Page 7: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/7.jpg)
Automatic Performance Tuning
‣ Auto-Tuner: Generate several program variants automatically
‣ on a specific architecture
‣ find an optimal tuning parameter configuration
Auto-Tuner
Parallel Program
performance datap1 p2 p3
parameter configuration
p2 p3p1
p1: 2, 4, 6, 8p2: static, dynamicp3: algo1, algo2
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/
![Page 8: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/8.jpg)
Automatic Performance Tuning
‣ Auto-Tuner: Generate several program variants automatically
‣ on a specific architecture
‣ find an optimal tuning parameter configuration
Auto-Tuner
Parallel Program
performance datap1 p2 p3
parameter configuration
p1 p2 p3
p1: 2, 4, 6, 8p2: static, dynamicp3: algo1, algo2
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/
![Page 9: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/9.jpg)
Automatic Performance Tuning
‣ Auto-Tuner: Generate several program variants automatically
‣ on a specific architecture
‣ find an optimal tuning parameter configuration
Auto-Tuner
Parallel Program
performance datap1 p2 p3
parameter configuration
p1 p2 p3
p1: 2, 4, 6, 8p2: static, dynamicp3: algo1, algo2
http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/
![Page 10: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/10.jpg)
Automatic Performance Tuning
‣ Huge search space
‣ cross product of parameter domains
p1: 2, 4, 6, 8 p2: static, dynamic p3: algo1, algo2
dom(p1) = 4dom(p2) = 2dom(p3) = 2
![Page 11: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/11.jpg)
Automatic Performance Tuning
‣ Huge search space
‣ cross product of parameter domains
24 mio parameter configurations
13 parameters240‘000
program variants
1%
search space
![Page 12: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/12.jpg)
Automatic Performance Tuning
‣ Huge search space
‣ cross product of parameter domains
24 mio parameter configurations
13 parameters240‘000
program variants
1%
need to prune the search space !
search space
![Page 13: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/13.jpg)
Automatic Performance Tuning
‣ Three ways to prune the search space
‣ try & fail
‣ make use of heuristics / previous tuning iterations
‣ use the developers knowledge
24 mio parameter configurations
13 parameters240‘000
program variants
1%
search space
![Page 14: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/14.jpg)
Automatic Performance Tuning
‣ Three ways to prune the search space
‣ try & fail
‣ make use of heuristics / previous tuning iterations
✓ use the developers knowledge
‣ Atune-IL: annotate tuning parameters, independent sections, monitoring probes...
24 mio parameter configurations
13 parameters240‘000
program variants
1%
search space
![Page 15: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/15.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 16: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/16.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 17: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/17.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 18: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/18.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 19: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/19.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 20: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/20.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 21: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/21.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 22: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/22.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 23: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/23.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 24: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/24.jpg)
Atune‘s tuning cycle
Program Code
Instrumented Program Code
Parser Optimizer
generate program variant
based on c
compile & executeprogram variant
OptimalProgram Variant
find new configuration c
instrument with Atune-IL
performance feedback
Atune-ILindependent of host languageindependent of application domain
![Page 25: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/25.jpg)
Numeric Parameters
‣ SETVAR keyword
public void SETVAR_Example(){int numThreads = 2;
for (int i=1; i <=numThreads; i++){Thread.Create(StartCalculation);
}WaitAll();
}
![Page 26: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/26.jpg)
Numeric Parameters
‣ SETVAR keyword
public void SETVAR_Example(){int numThreads = 2;#pragma atune SETVAR numThreads TYPE int VALUES 2-16 STEP 2
for (int i=1; i <=numThreads; i++){Thread.Create(StartCalculation);
}WaitAll();
}
2, 4, ..., 16 Threads
![Page 27: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/27.jpg)
Architectural Parameters
‣ SETVAR keyword
public void SETVAR_Example2(){SortAlgorithm sortAlgo = new ParallelMergeSort();
#pragma atune SETVAR sortAlgo TYPE generic VALUES „new QuickSort()“, „new ParallelMergeSort()“
if (sortAlgo != null)sortAlgo.run();
}
![Page 28: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/28.jpg)
Parameter Dependencies
‣ DEPENDS keyword
public void DEPENDS_Example(){SortAlgorithm sortAlgo = new ParallelMergeSort();
#pragma atune SETVAR sortAlgo TYPE generic VALUES „new QuickSort()“, „new ParallelMergeSort()“
if (sortAlgo != null)sortAlgo.run(depth);
}
int depth = 2;
#pragma atune SETVAR depth TYPE int VALUES 2-8
14 combinations
![Page 29: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/29.jpg)
Parameter Dependencies
‣ DEPENDS keyword
public void DEPENDS_Example(){SortAlgorithm sortAlgo = new ParallelMergeSort();
#pragma atune SETVAR sortAlgo TYPE generic VALUES „new QuickSort()“, „new ParallelMergeSort()“
if (sortAlgo != null)sortAlgo.run(depth);
}
int depth = 2;
#pragma atune SETVAR depth TYPE int VALUES 2-8 DEPENDS sortAlgo VALUES “new ParallelMergeSort()“
8 combinations instead of 14!
![Page 30: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/30.jpg)
Tuning Blocks
‣ Define independent sections
‣ Tuning-Approach 1:
‣ Tuning-Approach 2:
‣ Tuning-Block 1:
‣ Tuning-Block 2:
http://www.ipd.uni-karlsruhe.de/multicore/research/download/ATuneIL-Autotuning.pdf
![Page 31: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/31.jpg)
Tuning Blocks
http://www.ipd.uni-karlsruhe.de/multicore/research/download/ATuneIL-Autotuning.pdf
‣ Define independent sections
‣ Tuning-Approach 1:
‣ Tuning-Approach 2:
‣ Tuning-Block 1:
‣ Tuning-Block 2:
![Page 32: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/32.jpg)
Tuning Blocks
‣ STARTBLOCK keyword
public void TUNINGBLOCKS_Example(){
// other tuning parameters...
int numThreads = 2;#pragma atune SETVAR numThreads TYPE int VALUES 2-16 STEP 2
for (int i=1; i <=numThreads; i++){Thread.Create(StartCalculation);
}WaitAll();
}
#pragma atune STARTBLOCK parallelSection
#pragma atune ENDBLOCK
![Page 33: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/33.jpg)
Nested Tuning Blocks
‣ INSIDE keyword
‣ optimization starts with the innermost block ‣ combines inner and outer parameters successively
public void TUNINGBLOCKS_Example(){ int numThreads = 2;#pragma atune SETVAR numThreads TYPE int VALUES 2-16 STEP 2
for (int i=1; i <=numThreads; i++){Thread.Create( );
}WaitAll();
}
#pragma atune STARTBLOCK parallelSection
#pragma atune ENDBLOCK
StartCalculation()
![Page 34: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/34.jpg)
Nested Tuning Blocks
‣ INSIDE keyword
‣ optimization starts with the innermost block ‣ combines inner and outer parameteters successively
StartCalculation()public void{
#pragma atune STARTBLOCK nestedSection INSIDE parallelSection
/* calculation with own tuning parameters */
#pragma atune ENDBLOCK}
![Page 35: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/35.jpg)
Monitoring Probes
public void TUNINGBLOCKS_Example(){ int numThreads = 2;#pragma atune SETVAR numThreads TYPE int VALUES 2-16 STEP 2
for (int i=1; i <=numThreads; i++){Thread.Create(StartCalculation());
}WaitAll();
}
#pragma atune GAUGE execTime
#pragma atune GAUGE execTime
t
#pragma atune STARTBLOCK parallelSection
#pragma atune ENDBLOCK
http://www.iconfinder.com/icondetails/48883/256/
![Page 36: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/36.jpg)
Context
✓ Motivation
✓ Introduction to Auto-Tuning
✓ Atune‘s Tuning Cycle
✓ Atune-IL
‣ Case Study
‣ Results
‣ Pros & Cons
http://images.productwiki.com/upload/images/safari_iphone_app-400-400.jpg
![Page 37: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/37.jpg)
Case Study
‣ MetaboliteID (Agilent Technologies)
‣ Identify effects caused by a drug on a very low level
‣ by comparing control samples to metabolite samples
Control Sample Sample 1 ... Sample 2
Time
compare
compare
compare
drug effect
http://www.tjohnsonmedia.com/wp-content/uploads/2011/11/kid-icon-256.jpg, http://icons.iconarchive.com/icons/devcom/medical/256/pill-icon.png
![Page 38: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/38.jpg)
Metabolite ID
Control Sample Control Sample
Sample 2 Sample 1
Control
Sample 2
Tuning Block 1
NumW1
InputAlgorithm 3
Algorithm 2
NumW2
Lb1
pSize1
Tuning Block 2
OutputSimilar to
Tuning Block 2Parallel Section
NumW3
Lb2
pSize2
ExecTime ExecTime
![Page 39: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/39.jpg)
Metabolite ID
Control Sample Control Sample
Sample 2 Sample 1
Control
Sample 2
Tuning Block 1
NumW1
InputAlgorithm 3
Algorithm 2
NumW2
Lb1
pSize1
Tuning Block 2
OutputSimilar to
Tuning Block 2Parallel Section
NumW3
Lb2
pSize2
ExecTime ExecTime
![Page 40: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/40.jpg)
Metabolite ID
Control Sample Control Sample
Sample 2 Sample 1
Control
Sample 2
Tuning Block 1
NumW1
InputAlgorithm 3
Algorithm 2
NumW2
Lb1
pSize1
Tuning Block 2
OutputSimilar to
Tuning Block 2Parallel Section
NumW3
Lb2
pSize2
ExecTime ExecTime
http://www.iconfinder.com/icondetails/11746/32/_icon
![Page 41: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/41.jpg)
Case Study: Results 1
‣ Search space reduction
‣ Difference in execution time
‣ 45% between the best and the worst configuration (8 core machine)
~24 Mio. Combinations 1600 Combinations
all combinations
instrumented with Atune-IL
![Page 42: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/42.jpg)
Case Study: Results 2
‣ Implementation effort
747 LOC 25 LOC
manually implemented used Atune-IL
![Page 43: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/43.jpg)
Related Work
‣ POET1
‣ independent of application domain / host language
‣ optimization on source code level
‣ XLanguage
‣ #pragma approach
‣ C / C++ code transformations
‣ loop unrolling
1Parameterized Optimizing for Empirical Tuning
![Page 44: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/44.jpg)
Pros and Cons
✓ Drastical search space reduction
✓ Host-language independent
✓ Independent of application domain
✓ Portability, maintenance
![Page 45: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/45.jpg)
Pros and Cons
✓ Drastical search space reduction
✓ Host-language independent
✓ Independent of application domain
✓ Portability, maintenance
‣ Nothing available on the web
‣ Portability, maintenance
‣ Paper is incomplete / wrong
‣ WEIGHT not specified
‣ mixed START/DEFAULT
‣ LOC: hardly depends on programming style
‣ template files ignored
‣ Section 6.4 „Results“ is weak
![Page 46: Atune-IL: An Instrumentation Language for Auto-Tuning ... · Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius,](https://reader034.vdocuments.us/reader034/viewer/2022042414/5f2e380b74dedb55692cdf87/html5/thumbnails/46.jpg)