Font Size: a A A

Research On Compilation And Optimization For OpenMP Programs

Posted on:2005-09-30Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y J ChenFull Text:PDF
GTID:1118360152468054Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
This dissertation focuses on the research of compilation and optimization techniques for OpenMP programs.This first part of this paper is about source level optimization techniques for OpenMP programs, with the main purpose of translating fork-join style OpenMP programs into SPMD style, to express the parallelism more efficiently. Main Optimizations include schedule parameter optimization for parallel loops, the parallel region expansion and mergence, and thus introduced redundant directives elimination, especially elimination of redundant synchronization operations, and variable's data attribute oriented optimizations. Main contributions in this part arrive from the follows:A novel schedule parameter optimization algorithm for parallel loops is presented to determine a near-optimal schedule scheme by considering the impact of schedule parameter to different kinds of overhead in the program, especial the impact to backend optimization requirement. It thus can prevent performance degradation caused by improper schedule parameters more effectively. A new parallel region expansion and mergence algorithm is raised to form SPMD regions. Different from other methods, it gets two distinct features. First, it's an aggressive algorithm in the way that it handles variable data attribute confliction through variable and computation privatization. Second, it can hoist parallel region across procedure boundaries. Larger parallel regions can be formed and thus more optimization opportunities are available.New optimization algorithms for SPMD regions in OpenMP programs are proposed to optimize the SPMD style programs, including synchronization optimization and variable data attribute optimization. The former reduces the overhead caused by redundant directives and synchronization operations elimination, and the latter reduces the spatial overhead and improves the locality by merging private variables in the form of variable data attribute optimization.The second part of this paper is about efficient compilation of OpenMP programs. Main contributions include:A translation and optimization framework for OpenMP programs is raised based on the global nesting type analysis for OpenMP directives. By this way, more effective translation and optimization can be done, and it eliminates part of the overhead and improves the performance of the Runtime Library. Based on the analysis and translation framework, an OpenMP compiling and optimization system is implemented on IA64/Linux, to provide a research vehicle for researches on related high performance computing and thread level parallelism exploration, and to be part of a larger OpenMP develop environment. Benchmarking results has proven its functionality and good performance, and also an exhibition of the effectiveness of aforementioned optimization and compilation algorithms.
Keywords/Search Tags:OpenMP compilation, OpenMP program optimization, OpenMP programming style, OpenMP Runtime Library, Overhead analysis for OpenMP programs
PDF Full Text Request
Related items