Title :
SIMD parallelization of applications that traverse irregular data structures
Author :
Ren, Bailing ; Agrawal, Gagan ; Larus, J.R. ; Mytkowicz, T. ; Poutanen, T. ; Schulte, W.
Author_Institution :
Dept. of Comput. Sci. & Eng., Ohio State Univ., Columbus, OH, USA
Abstract :
Fine-grained data parallelism is increasingly common in mainstream processors in the form of longer vectors and on-chip GPUs. This paper develops support for exploiting such data parallelism for a class of non-numeric, non-graphic applications, which perform computations while traversing many independent, irregular data structures. While the traversal of any one irregular data structure does not give opportunity for parallelization, traversing a set of these does. However, mapping such parallelism to SIMD units is nontrivial and not addressed in prior work. We address this problem by developing an intermediate language for specifying such traversals, followed by a run-time scheduler that maps traversals to SIMD units. A key idea in our run-time scheme is converting branches to arithmetic operations, which then allows us to use SIMD hardware. In order to make our approach fast, we demonstrate several optimizations including a stream compaction method that aids with control flow in SIMD, a set of layouts that reduce memory latency, and a tiling approach that enables more effective prefetching. Using our approach, we demonstrate significant increases in single-core performance over optimized baselines for two applications.
Keywords :
data structures; optimisation; parallel programming; SIMD parallelization; SIMD units; arithmetic operations; fine-grained data parallelism; intermediate language; irregular data structures; memory latency; optimizations; prefetching; run-time scheduler; run-time scheme; single-core performance; stream compaction method; tiling approach; Compaction; Data structures; Decision trees; Indexes; Layout; Parallel processing; Vegetation; Fine Grained Parallelism; Irregular Data Structure; SIMD;
Conference_Titel :
Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
Conference_Location :
Shenzhen
Print_ISBN :
978-1-4673-5524-7
DOI :
10.1109/CGO.2013.6494989