Abstract

In recent years, even though the chip density can still increase, it is difficult to increase the main frequency. Performance improvements for single processors may be close to their limits. So multi-core processors are coming on the scene. In order to make full use of multi-core platforms, we must find the inherent parallelism of programs and write programs that can execute in parallel. OpenMP standard is widely used in parallel programming because of its good portability and ease of use. For OpenMP programs generated by parallel compilers and OpenMP programs which only have simple parallelism, they belong to programs with insufficient optimization. In OpenMP parallel execution, synchronization control is one of the main overheads. Its unnecessary barrier synchronization reduces the performance of parallel program. This paper discusses an optimization technology of OpenMP program. Firstly, the parallel area of OpenMP program is merged and expanded to reduce the overhead of parallel and serial switching in execution, and at the same time, it is convenient for next steps to optimize the program. Then explicit the implicit synchronization in OpenMP program. Finally, data dependency analysis is carried out for the context of each synchronization, and unnecessary synchronizations are deleted. The program is tested with the program running time as an index to evaluate the performance of the test program. The experimental results show that the optimization strategy proposed in this paper correctly reconstructs the parallel regions and reduces its execution overhead; it reduces the number of redundant synchronizations and effectively improve the performance of OpenMP program.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call