作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2013, Vol. 39 ›› Issue (3): 295-299. doi: 10.3969/j.issn.1000-3428.2013.03.059

• 开发研究与设计技术 • 上一篇    下一篇

OpenMP数据分布子句自动生成算法

黄品丰,赵荣彩,韩 林,刘晓娴   

  1. (解放军信息工程大学信息工程学院,郑州 450002)
  • 收稿日期:2012-03-26 出版日期:2013-03-15 发布日期:2013-03-13
  • 作者简介:黄品丰(1987-),男,硕士研究生,主研方向:并行编译;赵荣彩,教授、博士生导师;韩 林,副教授;刘晓娴,博士研究生
  • 基金资助:
    核高基重大专项(2009ZX01036-001-001-2)

Automatic Generation Algorithm of OpenMP Data Distribution Clause

HUANG Pin-feng, ZHAO Rong-cai, HAN Lin, LIU Xiao-xian   

  1. (Institute of Information Engineering, PLA Information Engineering University, Zhengzhou 450002, China)
  • Received:2012-03-26 Online:2013-03-15 Published:2013-03-13

摘要: 将OpenMP程序扩展到异构多核结构时,非本地存储访问会导致访存开销增加,影响程序性能。针对该问题,引入带数组划分信息的数据分布子句,对数据在异构多核存储系统的布局进行管理,提出一种基于并行循环识别和数组引用模式分析的算法,实现该类子句的自动生成。实验结果表明,自动生成的OpenMP程序包含数据分布子句,具有较好的数据局部性,可降低访存开销,在异构多核系统上获得明显的性能提升。

关键词: 异构多核, 数据局部性, 数据分布子句, Open64编译器, 并行循环, 数组下标表达式

Abstract: When OpenMP programs are extended to heterogeneous multi-core architectures, the remote memory access may make the memory access cost increase and program performance decrease. In order to solve this problem, this paper introduces a data distribution clause with array partition information to manage data layout in the heterogeneous multi-core memory system. Furthermore, it proposes a new algorithm based on the parallel loop recognition and array reference pattern analysis, so as to realize the automatic generation of such clauses. Experimental results demonstrate that the automatic generated OpenMP programs with data distribution clauses have relatively good data locality and achieve significant performance increase on heterogeneous multi-core systems.

Key words: heterogeneous multi-core, data locality, data distribution clause, Open64 compiler, parallel loop, array index expression

中图分类号: