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

Automatic Parallelization for Loops Carried Data Dependence Between Iterations

在线阅读下载全文

作  者:张琼声[1] 李莹 范志东 李吉乐 

机构地区:[1]中国石油大学(华东)计算机与通信工程学院,山东青岛266580

出  处:《小型微型计算机系统》2014年第6期1293-1297,共5页Journal of Chinese Computer Systems

基  金:中央高校基本科研业务类专项基金(14CX02032A)资助

摘  要: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.

关 键 词:OPENMP 自动并行化 抽象语法树文本 冗余信息消除 跨迭代数据依赖 预计算技术 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象