计算机科学 ›› 2011, Vol. 38 ›› Issue (9): 288-293.

• 体系结构 • 上一篇    下一篇

自动向量化中基于数据依赖分析的循环分布算法

黄磊,姚远,侯永生,杨明   

  1. (解放军信息工程大学信息工程学院 郑州 450002)
  • 出版日期:2018-11-16 发布日期:2018-11-16
  • 基金资助:
    本文受核高基重大专项“支持国产CPU的编译系统及工具链"(2009ZX01036-001-001-2)资助

Loop Distribution Algorithm Based on Data Dependence Analysis in Auto-vectorization

HUANG Lei , YAO Yuan , HOU Yong-sheng , YANG Min   

  • Online:2018-11-16 Published:2018-11-16

摘要: 循环分布是开发向量化程序的一个有效的方法。但是由于程序中的数据相关性,当前的自动向量化编译器实现完全的循环分布非常困难。因此,当前的自动向量化编译器一般采用简单的循环分布方法。以数据依赖关系分析为基础,从有无依赖环的角度分析了程序中语句的向量化能力,提出了基于语句向量化识别的循环分布算法,并在自动向量化中加以实现。通过此方法,可以充分地分析语句或依赖环的向量化能力,最终采用循环分布,将可向量化的语句与不可向量化的语句分布在不同的循环中。该方法可以处理当前的自动向量化编译器无法向量化的循环,对一些语句间有依赖关系的循环可达到较好的效果。

关键词: 自动向量化,SIMD,依赖关系分析,循环分布

Abstract: Loop distribution is a useful method to vectorization programs,but because of the data dependence,it's very hard to completely achieve loop distribution in auto-vectorization. So, it's usually used easily loop distribution in current auto-vectorization compiler. Here, discussed a new loop distribution method based on identify the statement vectorizalion, from the data dependence view, and achieved in current autoectorization compiler. I3y this method, we can completely analyse which statement can vectorize, which dependence cycle can vectorize, finally using loop distribution, the vectorization statements can and no-vector statements be distributed in different loops. I}his method can handle these loops which can't be vectorized by other auto-vectorization compilers, and have good effect for some loops which have complex dependence.

Key words: Auto-vectori}ation, SIMD, Data dependence analysis, Loop distribution

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!