计算机研究与发展2023,Vol.60Issue(12) :2907-2927.DOI:10.7544/issn1000-1239.202220354

基于多种同构化变换的SLP向量化方法

SLP Vectorization Method Based on Multiple Isomorphic Transformations

冯竞舸 贺也平 陶秋铭 马恒太
计算机研究与发展2023,Vol.60Issue(12) :2907-2927.DOI:10.7544/issn1000-1239.202220354

基于多种同构化变换的SLP向量化方法

SLP Vectorization Method Based on Multiple Isomorphic Transformations

冯竞舸 1贺也平 2陶秋铭 1马恒太1
扫码查看

作者信息

  • 1. 基础软件国家工程研究中心(中国科学院软件研究所) 北京 100190
  • 2. 基础软件国家工程研究中心(中国科学院软件研究所) 北京 100190;计算机科学国家重点实验室(中国科学院软件研究所) 北京 100190
  • 折叠

摘要

超字级并行(superword level parallelism,SLP)是一种面向处理器单指令多数据(single instruction multiple data,SIMD)扩展部件实现程序自动向量化的方法,这种方法被广泛应用于主流编译器中.SLP方法有赖于先找到同构指令序列再对之进行自动向量化.将非同构指令序列等价转为同构指令序列以扩展SLP方法的适用范围是当前研究趋势之一.提出SLP的一种扩展方法——SLP-M向量化方法,引入二元表达式替换同构转换方式,基于条件判断和收益计算的选择,利用多种指令序列同构化转换,将满足特定条件的非同构指令序列转换为同构指令序列,再进一步实施自动向量化,从而提升SLP的适用范围和收益.在LLVM中实现了SLP-M方法,并利用SPEC CPU 2017等标准测试集进行了测试评估.实验结果表明,SLP-M方法相比于已有方法在核心函数测试中性能提升了21.8%,在基准测试程序整体测试中性能提升了4.1%.

关键词

SIMD扩展/自动向量化/超字级并行/非同构指令序列/同构化变换

Key words

SIMD extension/auto-vectorization/superword level parallelism(SLP)/sequence of non-isomorphism instructions/isomorphic transformation

引用本文复制引用

基金项目

中国科学院战略性先导科技专项(XDA-Y01-01)

中国科学院战略性先导科技专项(XDC02010600)

出版年

2023
计算机研究与发展
中国科学院计算技术研究所 中国计算机学会

计算机研究与发展

CSTPCDCSCD北大核心
影响因子:2.649
ISSN:1000-1239
参考文献量9
段落导航相关论文