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
期刊:
影响因子:
--
通讯作者:
T. Mattson
中科院分区:
文献类型:
--
作者:
Vasileios Porpodas;Rodrigo C. O. Rocha;E. Brevnov;L. F. Góes;T. Mattson
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