%0 Journal Article %T 一种改进的控制流SIMD向量化方法 %A 孙回回 %A 李雁冰 %A 李颖颖 %A 赵荣彩 %A 高伟 %J - %D 2017 %R 10.13328/j.cnki.jos.005121 %X SIMD扩展部件是近年来集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等程序的数据级并行.控制依赖给发掘程序中的数据级并行带来了阻碍,当前,无论基于loop-based还是SLP的控制流向量化方法都需要if转换,而没有考虑循环内蕴含的向量并行度,导致生成的向量代码效率较低.此外,不精确的代价模型指导控制流向量化,同样导致生成的向量代码效率较低.为此,提出了改进的控制流SIMD向量化方法.首先,提出了含有控制依赖的循环分布算法,分离循环的可向量化部分和不可向量化部分,同时考虑分布时数据的局部性;其次,提出了一种直接向量化控制流的方法,该方法考虑了基本块间的向量重用;最后,利用精确的代价模型指导超字选择指令和超字条件分支指令的生成.实验结果表明:与现有的控制流向量化方法相比,改进方法生成的向量代码性能提高了24% %K SIMD扩展部件 控制依赖 数据依赖 循环分布 %U http://www.jos.org.cn/jos/ch/reader/view_abstract.aspx?file_no=5121&flag=1