Automatic Tuning and Optimization


Automatic parallelization combined with tuning techniques is an alternative to manual parallelization of sequential programs to exploit the increased computational power that current multi-core systems offer. Automatic parallelization concentrates on finding any possible parallelism in the program, whereas tuning systems help identifying efficient parallel code segments and serializing inefficient ones using runtime performance metrics. In this work we study the performance gap between automatic and hand parallel OpenMP applications and try to find whether this gap can be filled by compile-time techniques or it needs dynamic or user-interactive solutions. We implement an empirical tuning framework and propose an algorithm that partitions programs into sections and tunes each code section individually.



Description: Description: Description: Description: C:\Users\dheya\Desktop\my web page\autotuning_files\image001.jpg


Experiments show that tuned applications perform better than original serial programs in the worst case and sometimes outperform hand-parallel applications. Our work is one of the first approaches delivering an auto-parallelization system that guarantees performance improvements for nearly all programs; hence it eliminates the need for users to “experiment” with such tools in order to obtain the shortest runtime of their applications.



·        Related Publications:




o   Performance Analysis and Tuning of Automatically Parallelized OpenMP  Applications

o   Automatically Tuning Parallel and Parallelized Programs

o   Portable Section-level Tuning of Compiler Parallelized Applications



·        Prior Publications:

o   OpenMPC: Extended OpenMP for Efficient Programming and Tuning on GPUs

o   Adaptive Runtime Tuning of Parallel Sparse Matrix-Vector Multiplication on Distributed Memory Systems

o   PEAK---a fast and effective performance tuning system via compiler optimization orchestration\

o   Fast, Automatic, Procedure-Level Performance Tuning

o   Rating Compiler Optimizations for Automatic Performance Tuning








Description: Description: Description: Description: Description: Description: Description:

This work is supported in part by the National Science Foundation. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.


Dheya Mustafa (E-mail: dmustaf AT purdue DOT edu)