同构变换矢量法

性能提升显著

通过多重同构变换将非同构指令序列转化为同构形式,显著扩展SLP矢量化方法的适用范围并提升性能。

Feng, Jingge · 贺也平 · 陶秋铭 · 马恒太

Jisuanji Yanjiu yu Fazhan/Computer Research and Development 2023

参数信息

内核函数性能提升
21.8 %
整体基准测试性能提升
4.1 %

技术优势

能处理非同构指令

通过基于条件判断和收益评估的多变换方法选择与实施,把非同构指令序列转成同构形式,使原本无法矢量化的代码也能利用 SLP。

基准测试性能提升

在 SPEC CPU 2017 等基准测试上,与现有方法相比,内核函数性能提升 21.8%,整体测试性能提升 4.1%,说明该方法在实际应用中能带来可观的加速。

可集成进 LLVM

已在 LLVM 中实现,编译器开发者可以直接使用该优化,无需对源代码进行修改。

应用场景