Look-ahead SLP: auto-vectorization in the presence of commutative operations
Look-ahead SLP: auto-vectorization in the presence of commutative operations
复制标题
前瞻 SLP:存在交换运算时的自动矢量化
DOI:
--
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
L. F. Góes
中科院分区:
文献类型:
--
作者:
Vasileios Porpodas;Rodrigo C. O. Rocha;L. F. Góes
Auto-vectorizing compilers automatically generate vector (SIMD) instructions out of scalar code. The state-of-the-art algorithm for straight-line code vectorization is Superword-Level Parallelism (SLP). In this work we identify a major limitation at the core of the SLP algorithm, in the performance-critical step of collecting the vectorization candidate instructions that form the SLP-graph data structure. SLP lacks global knowledge when building its vectorization graph, which negatively affects its local decisions when it encounters commutative instructions. We propose LSLP, an improved algorithm that can plug-in to existing SLP implementations, and can effectively vectorize code with arbitrarily long chains of commutative operations. LSLP relies on short-depth look-ahead for better-informed local decisions. Our evaluation on a real machine shows that LSLP can significantly improve the performance of real-world code with little compilation-time overhead.
DOI:
10.1109/pact.2015.32
发表时间:
2015
期刊:
--
影响因子:
--
作者:
Porpodas V
通讯作者:
Porpodas V