OpenMP is able to develop multithreaded programs with lower cost as a promising way to quickly parallelize a great number of serial programs. However, there are many difficulties when developing OpenMP multithreaded p...OpenMP is able to develop multithreaded programs with lower cost as a promising way to quickly parallelize a great number of serial programs. However, there are many difficulties when developing OpenMP multithreaded programs. Most importantly, the performance of OpenMP programs cannot be guar- anteed, which has greatly affected the application of OpenMP. This paper examines several factors that af- fect the execution performance of OpenMP programs, including loop transformation, scheduling strategy, the number of threads, and nested parallelism. The results show that one of the key reasons for perform- ance degradation is load imbalance, which can be corrected by reasonable use of these key factors to im- prove the execution performance of OpenMP programs.展开更多
基金Supported by the National Natural Science Foundation of China (No. 69933202) and by the Intel Corporation
文摘OpenMP is able to develop multithreaded programs with lower cost as a promising way to quickly parallelize a great number of serial programs. However, there are many difficulties when developing OpenMP multithreaded programs. Most importantly, the performance of OpenMP programs cannot be guar- anteed, which has greatly affected the application of OpenMP. This paper examines several factors that af- fect the execution performance of OpenMP programs, including loop transformation, scheduling strategy, the number of threads, and nested parallelism. The results show that one of the key reasons for perform- ance degradation is load imbalance, which can be corrected by reasonable use of these key factors to im- prove the execution performance of OpenMP programs.