Font Size: a A A

Study And Application Of OpenMP Parallel Programming Model And Optimization Method Of Performance

Posted on:2012-08-24Degree:MasterType:Thesis
Country:ChinaCandidate:Z Y YouFull Text:PDF
GTID:2218330338467766Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the continuous development of computer hardware, nowadays, multi-core processors have become increasingly maturity, and the processor of personal PC, has been dual-core or quad-core. Therefore, the full use of the advantages of multi-core processors has been imperative. In this case, shared memory programming model, represented by OpenMP, has developed rapidly with the development of multi-core technology.OpenMP parallel programming model based on share memory model system has grown in recent years. It has specific implementation in Windows and Unix/Linux platforms presently, and it is a programming standard suiting share memory system. It is simpler for OpenMP than traditional MPI in writing parallel programs, because OpenMP uses multi-threading, which spends less time than MPI of using multi-process. Therefore, OpenMP has become the fact standard of shared memory programming model.This thesis has firstly studied the multi-core storage architecture and the parallel computing model of the architecture, and then has studied the parallel programming model and design methods. It has analyzed the main factors of multi-core parallel computing performance, laid the foundation of further study of designing OpenMP parallel algorithm and developing parallel program in multi-core environment.By analyzing the OpenMP programming model, the paper focused on the design form of OpenMP parallel programming model the programming design of fork-join model and SMPM model, and analyzed and compared the characteristics of the development of two models, and further concluded that the program of SPMD model has less performance cost and good scalability in large application. After studied the cost model of OpenMP parallel programming and analyzed the factors that affect the performance of OpenMP parallel algorithm, this thesis proposed a series of OpenMP program optimization methods, which include the expansion and merging parallel domain, optimal loop scheduling method, variable attribute optimization, processor thread-bound optimization and reducing false sharing, etc. Experimental tests showed that these methods have a good performance in practice problem. By analyzing the large sparse matrix and storing it with CSR, the storage space of large sparse matrix was saved. On these bases, the performance factors of compress storage structure were analyzed and the corresponding OpenMP programming methods were put forward.Designed and implemented the inverse power method for solving large sparse matrix eigenvalue, and implemented conjugate gradient method for solving large sparse equations in the process of inverse power method. By analyzing the characteristics of the inverse power method and the conjugate gradient method, the OpenMP parallelization using the inverse power method and the CG method was designed, and corresponding implementation method was given.The experiment and results showed that the design of the OpenMP parallel SPMD model program for solving large sparse matrix applications with good performance can greatly improve application performance. The optimization method of OpenMP parallel programs has been demonstrated by solving large sparse matrix problems. Practice shows that the optimization method of parallel programs can significantly improve the performance of OpenMP application.
Keywords/Search Tags:OpenMP, Multi-Core Technology, Parallel programming, Inverse power method, Performance optimization
PDF Full Text Request
Related items