Title
LLVM Compiler Implementation for Explicit Parallelization and SIMD Vectorization
Abstract
With advances of modern multi-core processors and accelerators, many modern applications are increasingly turning to compiler-assisted parallel and vector programming models such as OpenMP, OpenCL, Halide, Python and TensorFlow. It is crucial to ensure that LLVM-based compilers can optimize parallel and vector code as effectively as possible. In this paper, we first present a set of updated LLVM IR extensions for explicitly parallel, vector, and offloading program constructs in the context of C/C++/OpenCL. Secondly, we describe our LLVM design and implementation for advanced features in OpenMP such as parallel loop reduction, task and taskloop, SIMD loop and functions, and we discuss the impact of our updated implementation on existing LLVM optimization passes. Finally, we present a re-use case of our infrastructure to enable explicit parallelization and vectorization extensions in our OpenCL compiler to achieve ~35x performance speedup for a well-known autonomous driving workload on a multi-core platform configured with Intel® Xeon® Scalable Processors.
Year
DOI
Venue
2017
10.1145/3148173.3148191
LLVM-HPC@SC
DocType
ISBN
Citations 
Conference
978-1-4503-5565-0
4
PageRank 
References 
Authors
0.47
0
15
Name
Order
Citations
PageRank
Xinmin Tian159652.92
Hideki Saito217714.88
Ernesto Su340.81
Jin Lin440.47
Satish Guggilla540.47
Diego Caballero6202.51
Matt Masten7292.13
Andrew Savonichev840.47
Michael Rice911921.56
Elena Demikhovsky1040.47
Ayal Zaks1141426.73
Gil Rapaport1240.47
Abhinav Gaba1340.81
Vasileios Porpodas1440.47
Eric N. Garcia15291.79