Compiler Optimization Algorithm for Parallel Program on Shared Memory Machine

Automatic parallelization on shared-memory machine is mostly loop-level and uses fork-join model.The performance of these program isn't satisfying.In this paper,a hybrid programming model is employed to combine the flexibility of the fork-join model with the power of the single program multiple data(SPMD)model by parallel region extension and combination.And a barrier synchronization optimization algorithm based on cross-processor dependence graph is developed to eliminate redundant barriers in each SPMD parallel region.Analysis show that these strategies reduce the number of parallel region and barrier synchronization,and can improve the performance of generated parallel codes.