非正规化循环的单指令多数据向量化.docVIP

  • 3
  • 0
  • 约4.54千字
  • 约 8页
  • 2016-11-23 发布于北京
  • 举报

非正规化循环的单指令多数据向量化.doc

非正规化循环的单指令多数据向量化.doc

非正规化循环的单指令多数据向量化   摘要:   针对非正规化循环的上下界、步长等循环信息不确定的问题,解决了循环条件为逻辑表达式、增量减量语句和dowhile循环的正规化问题。对不能正规化的循环提出了一种展开压紧算法,并用超字并行向量化方法发掘展开压紧的结果。实验结果表明,与现有的非正规化循环的单指令多数据(SIMD)向量化方法相比,所提出的转换方法和展开压紧方法能够更好地发掘非正规化循环的向量化特性,生成代码的性能加速比提高了6%以上。   关键词:   非正规化循环;单指令多数据向量化;展开压紧;依赖关系分析   0引言   循环正规化是指将循环的下界变为1、上界变为某个特定的值,并且跨距变为1的过程[1]。循环正规化成功得到的是正规化循环,失败得到的是非正规化循环。循环正规化失败是循环索引或者索引的步长和上下界等信息不确定造成的。传统向量化方法、超字并行(Superword Level Parallelism, SLP)向量化方法以及循环变换技术都是基于正规化循环。而非正规化循环在预分析和优化阶段没有进入到向量化循环候选集合中,因此失去了单指令多数据(Single Instruction Multiple Data, SIMD)向量化的机会。然而非正规化循环广泛应用于程序中,如何发掘其向量化特性是亟待解决的问题。   开源编译器Open64在高级中间表示阶段有三

文档评论(0)

1亿VIP精品文档

相关文档