计算机应用 ›› 2015, Vol. 35 ›› Issue (4): 950-955.DOI: 10.11772/j.issn.1001-9081.2015.04.0950

• 先进计算 • 上一篇    下一篇

分段约束的超字并行向量发掘路径优化算法

徐金龙, 赵荣彩, 韩林   

  1. 数学工程与先进计算国家重点实验室(信息工程大学), 郑州 450001
  • 收稿日期:2014-10-28 修回日期:2015-01-13 出版日期:2015-04-10 发布日期:2015-04-08
  • 通讯作者: 徐金龙
  • 作者简介:徐金龙(1985-),男,山东诸城人,博士研究生,CCF会员,主要研究方向:体系结构、并行编译; 赵荣彩(1957-),男,河南洛阳人,教授,博士生导师,博士,CCF高级会员,主要研究方向:体系结构、先进编译、操作系统; 韩林(1978-),男,山东临沂人,副教授,博士,主要研究方向:并行编译、并行识别。
  • 基金资助:

    国家科技重大专项(2009zx10036-001-001);国家863计划项目(2009AA01220)。

Vector exploring path optimization algorithm of superword level parallelism with subsection constraints

XU Jinlong, ZHAO Rongcai, HAN Lin   

  1. State Key Laboratory of Mathematical Engineering and Advanced Computing (Information Engineering University), Zhengzhou Henan 450001, China
  • Received:2014-10-28 Revised:2015-01-13 Online:2015-04-10 Published:2015-04-08

摘要:

超字并行(SLP)是一种针对基本块的向量并行发掘方法,结合循环展开可以发掘更多的并行性,但同时也会产生过多的发掘路径。针对上述问题,提出了一种分段约束的SLP发掘路径优化算法;采用分段的冗余删除方法,来保证冗余删除后段的同构性。采用段间的SLP发掘,来约束发掘路径;最后进行pack调整来处理访存重叠的情况。实验结果表明,该方法有效增强了SLP向量化功能,对于测试程序,向量化的平均加速比接近2。

关键词: 向量化, 超字并行, 循环展开, 同构, 冗余删除

Abstract:

Superword Level Parallelism (SLP) is a vector parallelism exploration approach for basic block. With loop unrolling, more parallel possibility can be explored. Simultaneously too much exploring paths are brought in. In order to solve the above problem, an optimized SLP method with subsection constraints was proposed. Redundant elimination on segmentation was used to obtain homogeneous segments. Inter-section exploring method based on SLP was used to restrain exploring paths and reduce the complexity of the algorithm. And finally pack adjustment was used to deal with the situation of overlap on memory access. The experimental results show that the vectorization capability of SLP is enhanced; for the test serial program, the average speedup of vectorized version is close to 2.

Key words: vectorization, Superword Level Parallelism (SLP), loop unrolling, isomorphism, redundant elimination

中图分类号: