Wed 7 Nov 2018 11:37 - 12:00 at Studio 2 - Parallelism and Performance Chair(s): Arjun Guha

Modern microprocessors are equipped with single instruction multiple data (SIMD) or vector instruction sets which allow compilers to exploit superword level parallelism (SLP), a type of fine-grained parallelism. Current SLP auto-vectorization techniques use heuristics to discover vectorization opportunities in high-level language code. These heuristics are fragile, local and typically only present one vectorization strategy that is either accepted or rejected by a cost model. We present goSLP, a novel SLP auto-vectorization framework which solves the statement packing problem in a pairwise optimal manner. Using an integer linear programming (ILP) solver, goSLP searches the entire space of statement packing opportunities for a whole function at a time, while limiting total compilation time to a few minutes. Furthermore, goSLP optimally solves the vector permutation selection problem using dynamic programming. We implemented goSLP in the LLVM compiler infrastructure, achieving a geometric mean speedup of 7.58% on SPEC2017fp, 2.42% on SPEC2006fp and 4.07% on NAS benchmarks compared to LLVM’s existing SLP auto-vectorizer.

Wed 7 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
Parallelism and PerformanceOOPSLA at Studio 2
Chair(s): Arjun Guha University of Massachusetts Amherst
10:30
22m
Talk
Every Data Structure Deserves Lock-Free Memory Reclamation
OOPSLA
Nachshon Cohen EPFL, Switzerland
10:52
22m
Talk
Parallelization of Dynamic Languages: Synchronizing Built-in Collections
OOPSLA
Benoit Daloze JKU Linz, Austria, Arie Tal Technion, Stefan Marr University of Kent, Hanspeter Mössenböck JKU Linz, Austria, Erez Petrank Technion
Pre-print
11:15
22m
Talk
Virtual Machine Design for Parallel Dynamic Programming Languages
OOPSLA
Remigius Meier ETH Zurich, Switzerland, Armin Rigo PyPy.org, Switzerland, Thomas Gross ETH Zurich
11:37
22m
Talk
goSLP: Globally Optimized Superword Level Parallelism Framework
OOPSLA