Computer Engineering and Applications ›› 2006, Vol. 42 ›› Issue (1): 13-16.

• 博士论坛 • Previous Articles     Next Articles

Compiler Optimization Algorithm for Parallel Program

,,   

  1. 信息工程学院
  • Received:2005-09-13 Revised:1900-01-01 Online:2006-01-01 Published:2006-01-01

共享内存结构并行程序的编译器优化

张平,李清宝,赵荣彩   

  1. 信息工程学院
  • 通讯作者: 张平

Abstract: 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.

Key words: cross-processor dependence, barrier synchronization, SPMD parallel region, data dependence graph

摘要: 共享内存结构上的程序自动并行化通常实现循环级并行,采用fork-join执行模式,并行性能有待提高。本文结合fork-join和SPMD两种执行模式的优势,在并行化编译过程中通过并行区合并和扩展,实现fork-join和SPMD混合执行模式,并在SPMD并行区中实现了基于跨处理器相关图的barrier同步优化。分析验证表明,这些优化策略减少了并行区和barrier同步的数目,有效地提高了生成并行程序的性能。

关键词: 跨处理器相关, barrier同步, SPMD并行区, 数据相关图