An OpenMP Runtime Optimization System Based on Value-Profiling
Xuejun Yang · Computer Engineering and Science · 2006
This paper presents the design and implementation of an OpenMP runtime optimization system based on value-profiling, called CCRG OpenMP, where the parallel regions of OpenMP programs can be well optimized based on the common combinations of values. Moreover, only the code within the parallel regions needs to be re-compiled and managed at runtime. A distinguished feature of CCRG OpenMP is that a dynamic re-compile technique is adopted to overcome the shortcomings of the static multi-versional approach. A separate dynamic optimizer is developed to collect and analyze value-profiles for reducing the overhead introduced by re-compile. The SPEC OpenMP benchmarks show the presented value-profile-based optimization for OpenMP can improve the performance significantly.