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