首页 | 本学科首页   官方微博 | 高级检索  
     

一种改进的控制流SIMD向量化方法
引用本文:高伟,李颖颖,孙回回,李雁冰,赵荣彩.一种改进的控制流SIMD向量化方法[J].软件学报,2017,28(8):2046-2063.
作者姓名:高伟  李颖颖  孙回回  李雁冰  赵荣彩
作者单位:数学工程与先进计算国家重点实验室 解放军信息工程大学, 郑州 450001,数学工程与先进计算国家重点实验室 解放军信息工程大学, 郑州 450001,数学工程与先进计算国家重点实验室 解放军信息工程大学, 郑州 450001,数学工程与先进计算国家重点实验室 解放军信息工程大学, 郑州 450001,数学工程与先进计算国家重点实验室 解放军信息工程大学, 郑州 450001
基金项目:“核高基”国家科技重大专项
摘    要:SIMD扩展部件是近年来集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等程序的数据级并行.控制依赖给发掘程序中的数据级并行带来了阻碍,当前不论基于loop-based还是SLP的控制流向量化方法都需要if转换,而没有考虑循环内蕴含的向量并行度,导致生成的向量代码效率较低.此外不精确的代价模型指导控制流向量化,同样导致生成的向量代码效率较低.为此提出了改进的控制流SIMD向量化方法,首先提出了含有控制依赖的循环分布算法,分离循环的可向量化部分和不可向量化部分,同时考虑分布时数据的局部性;其次提出了一种直接向量化控制流的方法,该方法考虑了基本块间的向量重用;最后利用精确的代价模型指导超字选择指令和超字条件分支指令的生成.实验结果表明,与现有的控制流向量化方法相比,本文提出的改进方法生成的向量代码性能提高24%.

关 键 词:SIMD扩展部件  控制依赖  数据依赖  循环分布
收稿时间:2015/6/24 0:00:00
修稿时间:2016/3/18 0:00:00

Improved SIMD Vectorization Method in the Presence of Control Flow
GAO Wei,LI Ying-Ying,SUN Hui-Hui,LI Yan-Bing and ZHAO Rong-Cai.Improved SIMD Vectorization Method in the Presence of Control Flow[J].Journal of Software,2017,28(8):2046-2063.
Authors:GAO Wei  LI Ying-Ying  SUN Hui-Hui  LI Yan-Bing and ZHAO Rong-Cai
Affiliation:State Key Laboratory of Mathematical Engineering and Advanced Computing(PLA Information Engineering University), Zhengzhou 450001, China,State Key Laboratory of Mathematical Engineering and Advanced Computing(PLA Information Engineering University), Zhengzhou 450001, China,State Key Laboratory of Mathematical Engineering and Advanced Computing(PLA Information Engineering University), Zhengzhou 450001, China,State Key Laboratory of Mathematical Engineering and Advanced Computing(PLA Information Engineering University), Zhengzhou 450001, China and State Key Laboratory of Mathematical Engineering and Advanced Computing(PLA Information Engineering University), Zhengzhou 450001, China
Abstract:SIMD extension is an acceleration component integrated into the general processor for developing data level parallelism in multimedia and scientific computing applications. Control dependence hinders exploiting data level parallelism in the programs. Current vectorization methods in the presence of control flow which based on loop-based or SLP are all needed if conversion. They do not consider the SIMD parallelism in programs and result in a lower SIMD executing efficiency. Another factor that leads to low efficiency is the lack of cost model to direct SIMD code generation in the present of control flow. To address these problems, an improved control flow SIMD vectorization method is proposed. Firstly, loop distribution with control dependence is put up to separate the vectorizable parts and unvectorizable parts, taking data locality into account simultaneously. Secondly, a direct vectorization method of control flow is presented considering the reuse of data between basic blocks. Finally, cost model is used to guide the generation of select and BOSCCs to improve the efficiency of SIMD code. Experimental results show that the codes performance generated by our improved methods increase by 24% compared with those of the existing control flow vectorization method.
Keywords:SIMD Extension  Control Dependence  Data Dependence  Loop Distribution
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号