首页> 中文期刊> 《计算机应用》 >发掘函数级单指令多数据向量化的方法

发掘函数级单指令多数据向量化的方法

     

摘要

当前面向单指令多数据(SIMD)扩展部件的两类向量化方法分别是循环级向量化方法和超字级并行(SLP)方法.针对当前编译器不能实现函数级向量化的问题,提出一种基于静态单赋值的函数级向量化方法.该方法首先分析程序的变量属性,然后利用一组包括向量函数子句、一致子句、线性子句等编译指示子句指导编译器实现函数级向量化,最后利用变量属性结果对向量化代码进行了优化.从多媒体和图像处理领域选择部分测试用例对所提的函数级向量化的功能和性能在国产申威平台上进行测试,与程序串行执行相比,采用函数级向量化后程序的执行效率更高.实验结果表明函数级向量化可以取得类似任务级并行的加速效果,该方法可以指导自动函数级向量化的实现.%Currently,two vectorization methods which exploit Simple Instruction Multiple Data (SIMD) parallelism are loop-based method and Superword Level Parallel (SLP) method.Focusing on the problem that the current compiler cannot realize function level vectorization,a method of function level vectorization based on static single assignment was proposed.Firstly,the variable properties of program were analysed,and then a set of compiling directives including SIMD function annotations,uniform clauses,linear clauses were used to realize function level vectorization.Finally,the vectorized code was optimized by using the variable attribute result.Some test cases from the field of multimedia and image processing were selected to test the function and performance of the proposed function level vectorization on Sunway platform.Compared with the scalar program execution results,the execution of the program after the function level vectorization is more efficient.The experimental results show that the function level vectorization can achieve the same effect of task level parallelism,which is instructive to realize the automatic function level vectorization.

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号