期刊文献+

含有跨迭代数据依赖关系循环的自动并行化 被引量:1

Automatic Parallelization for Loops Carried Data Dependence Between Iterations
下载PDF
导出
摘要 OpenMP是为在多处理机上编写并行程序而设计的一个应用编程接口,在串行程序中简单插入OpenMP编译指导语句,编译器就可自动将串行程序并行化.但用OpenMP对for循环进行并行化时,要求循环各次迭代之间不能含有数据依赖关系.文中提出了一种对含有跨迭代数据依赖关系的for循环进行OpenMP自动并行化的方法.该方法首先对串行程序的GCC抽象语法树文本进行冗余信息消除,以提取程序的有用信息;然后利用这些信息分析循环是否含有跨迭代数据依赖关系,若有则采用预计算(pre-computation)技术消除跨迭代数据依赖关系;最后自动生成带有OpenMP编译指导语句的并行程序.实验结果表明该方法对于某些含有跨迭代数据依赖关系的循环来说是有效的. OpenMP is an application programming interface for designing parallel programs on multiprocessor systems. The compiler can automatically parallelize a sequential program by simply inserting OpenMP compiler directives. However, it must be ensured that no data dependence exists between iterations when parallelizing loops using OpenMP. The paper proposes a method of automatically parallelizing loops carded data dependence between iterations using OpenMP. First, it needs to eliminate redundant information in the GCC abstract syntax tree text of a sequential program to extract useful information. Then analyze the data dependence between iterations according to the useful information, and eliminate the data dependence using the pre-computation technique. Finally, a parallel program with OpenMP compiler directives corresponding to the sequential program is automatically generated. The experiment results show that the method proposed by the paper is effective for some loops carried data dependence between iterations.
出处 《小型微型计算机系统》 CSCD 北大核心 2014年第6期1293-1297,共5页 Journal of Chinese Computer Systems
基金 中央高校基本科研业务类专项基金(14CX02032A)资助
关键词 OPENMP 自动并行化 抽象语法树文本 冗余信息消除 跨迭代数据依赖 预计算技术 OpenMP automatic parallelization abstract syntax tree text eliminate redundant information data dependence between iterations pre-computation technique
  • 相关文献

参考文献11

  • 1Shen Zhi-yu, Hu Zi-ang, Liao Xiang-ke, et al. Methods of parallel compilation[M]. Beijing:National Defence Industry Press,2000.
  • 2Yan Zhao. Research on parallel recognition method and application[D]. Changchun:Jilin University ,2009.
  • 3Guo Li. Task scheduling algorithm based on reconfigurable cell ar-ray[D]. Shanghai:Shanghai Jiaotong University ,2010.
  • 4Carlos Garcia Quinones,Carlos Madriles,Jesus Sanchez,et al. Mitosis compiler : an infrastructure for speculative threading based onpre-computation slices[ C]. In: Conference on Programming Language Design and Implementation,Chicago,Illinois,USA,2005 : 269-279.
  • 5李鑫,王甜甜,苏小红,马培军.消除GCC抽象语法树文本中冗余信息的算法研究[J].计算机科学,2008,35(10):170-172. 被引量:8
  • 6Li Xin. Research on parsing abstract syntax tree of GCC and the method of creating control dependent subgraph f D]. Harbin ; Harbin Institute of Technology ,2008.
  • 7Chen Zheng, Zhao Yin-liang, Pan Xiao-yu, et al. An overview of prophet [ C ]. In : Proceedings of the International Conference on Algorithms and Architectures for Parallel Processing, Berlin,2009 : 396407.
  • 8Dong Zhao-yu,Zhao Yin-liang,Wei Yuan-ke,et al. Prophet:a speculative multi-threading execution model with architectural support based on CMP[C]. In: International Conference on Scalable Computing and Communications-The 8 th International Conference on Embedded Computing,Dalian,2009: 103-108.
  • 9Pan Xiao-yu, Zhao Yin-liang, Chen Zheng, et al. A thread partitioning method for speculation multithreading[C]. In: Proceedings of the 8th International Conference on Embedded Computing, Piscataway, NJ, USA, 2009:285-290.
  • 10韦远科,赵银亮,宋少龙,王旭昊,阴培培,李挺.面向片上多核处理器的推测多线程机制下的独立栈模型[J].西安交通大学学报,2010,44(12):10-15. 被引量:1

二级参考文献30

  • 1刘文伟,刘坚.一个重建GCC抽象语法树的方法[J].计算机工程与应用,2004,40(18):125-128. 被引量:7
  • 2王相懂,张毅坤.基于GCC的抽象语法树对C++源程序结构的分析[J].计算机工程与应用,2006,42(23):97-99. 被引量:8
  • 3鲁建壮,王志英,张春元.面向SCMP的多线程前瞻控制分析与设计[J].计算机工程与科学,2006,28(10):128-130. 被引量:1
  • 4Power J F. Program annotation in XML: a parse-tree based approach[C]//Proceedings of the Ninth Working Conference on Reverse Engineering. 2002 : 1095-1350
  • 5Antoniol G. XML-Oriented gcc AST Analysis and Transformations[C]//Proceedings of the Third IEEE International Workshop on Source Code Analysis and Manipulation. 2005,7:869- 901
  • 6KRISHNAM V, TORRELLAS J. A chip-multiprocessor architecture with speculative multithreading [ J ]. IEEE Trans Comput, 1999, 48(9):866-880.
  • 7WANG Shengyue Compiler techniques for thread-level speculation[D]. Minneapolis, Minnesota, USA: University of Minnesota, 2007.
  • 8HOGEN G. LOOGEN R. A new stack technique for the management of runtime structures in distributed implementations[R]. Aachen, Germany: RWTH Aachen University, 1993.
  • 9CHEN Zheng, ZHAO Yinliang, PAN Xiaoyu, et al. An overview of Prophet [C]//Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing. Berlin, Germany.. Springer, 2009: 396-407.
  • 10PAN Xiaoyu, ZHAO Yinliang, CHEN Zheng, et al. A thread partitioning method for speculation multithreading //Proceedings of the 8th International Conference on Embedded Computing. Piscataway, NJ, USA: IEEE, 2009: 285-290.

共引文献8

同被引文献1

引证文献1

二级引证文献3

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部