弥诺陶尔:面向SIMD综合超级优化器
摘要:Minotaur:基于LLVM中间表示的超优化器,针对整数SIMD指令,既适用于x86-64,又具有可移植性。我们创建它是为了解决在查找缺失的SIMD指令乘积优化问题上的挑战,因为这类指令十分复杂且语义复杂。Minotaur运行一种混合合成算法,其中指令以具体方式枚举,但是字面常量由求解器生成。我们使用Alive2作为验证引擎;为了实现这一点,我们修改了它以支持合成,并支持大量Intel的向量指令集的子集(SSE、AVX、AVX2和AVX-512)。Minotaur找到了许多LLVM中缺少的有利的优化。在SPEC CPU2017的整数部分上,它实现了有限的加速,约为1.3%;在平均情况下,它使libYUV库的测试套件加速了2.2%,最大加速为1.64倍,针对Intel Cascade Lake处理器。
作者:Zhengyang Liu, Stefan Mada, John Regehr
论文ID:2306.00229
分类:Programming Languages
分类简称:cs.PL
提交时间:2023-07-13