• DocumentCode
    1902442
  • 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
  • fYear
    2013
  • fDate
    23-27 Feb. 2013
  • Firstpage
    1
  • Lastpage
    10
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
  • Conference_Location
    Shenzhen
  • Print_ISBN
    978-1-4673-5524-7
  • Type

    conf

  • DOI
    10.1109/CGO.2013.6494989
  • Filename
    6494989