Super-Node SLP: Optimized Vectorization for Code Sequences Containing Operators and Their Inverse Elements

Super-Node SLP: Optimized Vectorization for Code Sequences Containing Operators and Their Inverse Elements
复制标题

超节点SLP:包含运算符及其逆元素的代码序列的优化矢量化

DOI:
--
复制
发表时间:
2019
期刊:
IEEE/ACM International Symposium on Code Generation and Optimization
影响因子:
--
通讯作者:
T. Mattson
T. Mattson
中科院分区:
--
文献类型:
--
作者:
Vasileios Porpodas;Rodrigo C. O. Rocha;E. Brevnov;L. F. Góes;T. Mattson

文献摘要

参考文献

被引文献

相似文献

SLP自动矢量化将直线代码转换为向量代码。它扫描输入代码,以将可以合并到向量的指令组,并用相应的向量说明代替它们。这项工作引入了Super-Node SLP(SN-SLP),这是一种新的SLP式算法,针对包括交换性运算符(例如添加)及其相应的逆元素(如扣除)的表达式进行了优化。 SN-SLP使用交换运算符及其反向元素的代数属性,以实现将自动矢量化扩展到最新自动矢量化编译器的情况的其他转换。我们在LLVM中实现了SN-SLP。我们对真实系统的评估表明,基准代码的性能改进,编译时间没有显着变化。
SLP Auto-vectorization converts straight-line code into vector code. It scans input code for groups of instructions that can be combined into vectors and replaces them with their corresponding vector instructions. This work introduces Super-Node SLP (SN-SLP), a new SLP-style algorithm, optimized for expressions that include a commutative operator (such as addition) and its corresponding inverse element (subtraction). SN-SLP uses the algebraic properties of commutative operators and their inverse elements to enable additional transformations that extend auto-vectorization to cases difficult for state-of-the-art auto-vectorizing compilers. We implemented SN-SLP in LLVM. Our evaluation on a real system demonstrates considerable performance improvements of benchmark code with no significant change in compilation time.
限制自动矢量化:少即是多
DOI: 10.1109/pact.2015.32
发表时间: 2015
期刊: --
影响因子: --
作者:
Porpodas V
通讯作者: Porpodas V