atune il an instrumentation language for auto tuning
play

Atune-IL: An Instrumentation Language for Auto-Tuning Parallel - PowerPoint PPT Presentation

Software Engineering Seminar Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius, Walter F. Tichy Institue for Program Structures and Data Organization (IPD) University of


  1. Software Engineering Seminar Atune-IL: An Instrumentation Language for Auto-Tuning Parallel Applications Christoph A. Schaefer, Victor Pankratius, Walter F. Tichy Institue for Program Structures and Data Organization (IPD) University of Karlsruhe 2009 Michael Berli, December 14th 2011

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

  3. Motivation Parallel Program ‣ Number of Cores ‣ Memory Management ‣ Cache sizes 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

  4. Motivation Parallel Program ‣ Number of Cores ‣ Memory Management gain optimal performance ‣ Cache sizes 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

  5. Motivation Parallel Program adjust tuning parameters Program 3 Program 2 Program 4 Program 1 Program 5 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

  6. Automatic Performance Tuning ‣ Auto-Tuner: Generate several program variants automatically ‣ on a specific architecture ‣ find an optimal tuning parameter configuration p1: 2, 4, 6, 8 p2: „static“, „dynamic“ p3: algo1, algo2 Auto-Tuner p1 p2 p3 performance data parameter configuration Parallel Program p1 p2 p3 http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/

  7. Automatic Performance Tuning ‣ Auto-Tuner: Generate several program variants automatically ‣ on a specific architecture ‣ find an optimal tuning parameter configuration p1: 2 , 4, 6, 8 p2: static , dynamic p3: algo1 , algo2 Auto-Tuner p1 p2 p3 performance data parameter configuration Parallel Program p1 p2 p3 http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/

  8. Automatic Performance Tuning ‣ Auto-Tuner: Generate several program variants automatically ‣ on a specific architecture ‣ find an optimal tuning parameter configuration p1: 2, 4 , 6, 8 p2: static , dynamic p3: algo1, algo2 Auto-Tuner p1 p2 p3 performance data parameter configuration Parallel Program p1 p2 p3 http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/

  9. Automatic Performance Tuning ‣ Auto-Tuner: Generate several program variants automatically ‣ on a specific architecture ‣ find an optimal tuning parameter configuration p1: 2, 4, 6 , 8 p2: static, dynamic p3: algo1 , algo2 Auto-Tuner p1 p2 p3 performance data parameter configuration Parallel Program p1 p2 p3 http://www.teknovadi.com/lenovo-laptop/lenovo-ideapad-b560/

  10. Automatic Performance Tuning ‣ Huge search space ‣ cross product of parameter domains dom(p1) = 4 p1: 2, 4, 6, 8 dom(p2) = 2 p2: static, dynamic dom(p3) = 2 p3: algo1, algo2

  11. Automatic Performance Tuning ‣ Huge search space ‣ cross product of parameter domains 24 mio parameter 1% 240‘000 13 parameters configurations program variants search space

  12. Automatic Performance Tuning ‣ Huge search space ‣ cross product of parameter domains need to prune the search space ! 24 mio parameter 1% 240‘000 13 parameters configurations program variants search space

  13. 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 1% 240‘000 13 parameters configurations program variants search space

  14. 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 1% 240‘000 13 parameters configurations program variants search space

  15. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  16. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  17. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  18. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  19. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  20. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  21. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  22. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  23. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  24. Atune‘s tuning cycle Atune-IL Program independent of host language Code independent of application domain instrument with Atune-IL Instrumented Optimal Parser Optimizer Program Code Program Variant performance feedback find new configuration c generate compile & execute program variant program variant based on c

  25. Numeric Parameters ‣ SETVAR keyword public void SETVAR_Example() { int numThreads = 2; for (int i=1; i <= numThreads ; i++){ Thread.Create( StartCalculation ); } WaitAll(); }

  26. 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 ); 2, 4, ..., 16 Threads } WaitAll(); }

  27. 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 (); }

  28. Parameter Dependencies ‣ DEPENDS keyword public void DEPENDS_Example() { SortAlgorithm sortAlgo = new ParallelMergeSort(); #pragma atune SETVAR sortAlgo TYPE generic VALUES „new QuickSort()“, „new ParallelMergeSort()“ int depth = 2; #pragma atune SETVAR depth TYPE int VALUES 2-8 if ( sortAlgo != null) sortAlgo.run ( depth ); } 14 combinations

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend