Font Size: a A A

Research On Optimization Technology Of OpenMP For Open64

Posted on:2016-05-29Degree:MasterType:Thesis
Country:ChinaCandidate:J LiuFull Text:PDF
GTID:2308330470457731Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
In recent30years, along with the appearance of parallel computer, the parallel computing gets a rapid development. SMP is a kind of widely used parallel computer system. OpenMP is the most popular parallel programming model on it. OpenMP has the following advantages:smaller overhead based on thread; to achieve incremental parallel for loop;simple and good portability. But at the same time, OpenMP also faces some problems:narrow scope of application; under constraint of cyclic expression; putting forward higher requirements for achieving high performance applications based on shared variables to communicate. This shows that even if programming on shared storage model is simpler than distributed system, there’s a large gap between the process model and system structure. This paper discusses related compiler optimization techniques of OpenMP programs to compensate for this gap.This paper is mainly divided into three parts.The first is the analysis of the Open64compiler system, which clears modules involved in translating OpenMP. We focus on the two translaing process of OpenMP: OpenMP Prelowering and MP Lowering. This is the core part of the OpenMP compilation, which involves problems of parallel domain management, shared task sharing and synchronization and environmental variables. Finally, we discuss the support of runtime environment.The second part, we discuss how to transform OpenMP program of simple fork-join model to SPMD type, in order to achieve more effcient experssion of parallelism in the program. Through the merger and expansion of parallel domain we can reduce the overhead of thread management under fork-join model.Further more, by using the unique whole process analysis module in Open64, we realize the reconstruction of parallel block which acrosses process boundaries. This has the advantage of at least two increasing the scope of paralle block further, which increases the computational granularity; by promoting parallel block to calling function, merging parallel block in called function further, which makes improving the structrue of program possible.The third part, we first analyze the performance of different scheduling methods under four cyclic structures, which provides guidance for users according to the application characteristics to select appropriate strategy. Then we propose an improved scheduling method called combined, which combines guidance and dynamic scheduling, in order to solve the problem that guided scheduling method is not a perfect fit for decreasing and irregular structures. Experiments show that this method makes up for the defects of guided scheduling effectively.
Keywords/Search Tags:OpenMP, Open64, fork-join, parallel region reconstruction, schedulingoptimization
PDF Full Text Request
Related items