首页|一种基于指令MKS的自动向量化代价模型

一种基于指令MKS的自动向量化代价模型

扫码查看
自动向量化代价模型是编译器进行自动向量化优化时的重要组成部分,其作用是评估代码在应用向量化转换后能否获得性能提升.当代价模型不准确时,编译器会应用负收益的向量化转换,从而降低程序的执行效率.针对GCC编译器默认代价模型的不精确问题,以Intel Xeon Silver 4214R CPU为平台,提出了 一种基于指令MKS的自动向量化代价模型.该模型充分考虑了指令的机器模式、运算类型以及运算强度等,并使用梯度下降算法 自动搜索不同指令类型的近似代价.在SPEC2006以及SPEC2017上进行了单线程测试,实验结果表明,该模型能够减少收益评估错误的情况.与默认代价模型生成的向量程序相比,GCC编译器添加MKS代价模型后,在SPEC2006课题上最高获得了 4.72%的提速,在SPEC2017课题上最高获得了 7.08%的提速.
Auto-vectorization Cost Model Based on Instruction MKS
The auto-vectorization cost model is an important component of compiler's auto-vectorization optimization.Its role is to evaluate whether the code can achieve performance improvement after applying vectorization transformation.When the cost model is inaccurate,the compiler will apply vectorization transformation with negative benefit,thus reducing the execution effi-ciency of the program.Aiming at the inaccuracy of the default cost model of GCC compiler,based on Intel Xeon Silver 4214R CPU,an auto-vectorization cost model based on instruction MKS is proposed.The model fully considers the machine mode,opera-tion type and operation intensity of instructions,and uses gradient descent algorithm to automatically search the approximate cost of different instruction types.Single-thread tests are carried out on SPEC2006 and SPEC2017.Experimental results show that the model can reduce the error of benefit estimation.Compared with the vector program generated by the default cost model,the GCC compiler,after adding the MKS cost model,achieves a maximum speedup of 4.72%on the SPEC2006 benchmark and 7.08%on the SPEC2017 benchmark.

GCC compilerAuto-vectorizationCost modelProfit evaluationGradient descent

王震、聂凯、韩林

展开 >

郑州大学计算机与人工智能学院 郑州 450000

郑州大学国家超级计算郑州中心 郑州 450000

GC C编译器 自动向量化 代价模型 收益评估 梯度下降

河南省科技重大专项(2022)求是科研启动(自)项目(2022)

22110021060032213247

2024

计算机科学
重庆西南信息有限公司(原科技部西南信息中心)

计算机科学

CSTPCD北大核心
影响因子:0.944
ISSN:1002-137X
年,卷(期):2024.51(4)
  • 20