DocumentCode
1783374
Title
Generalizing Run-Time Tiling with the Loop Chain Abstraction
Author
Strout, Michelle Mills ; Luporini, Fabio ; Krieger, Christopher D. ; Bertolli, Carlo ; Bercea, Gheorghe-Teodor ; Olschanowsky, Catherine ; Ramanujam, J. ; Kelly, Paul H. J.
Author_Institution
Colorado State Univ., Fort Collins, CO, USA
fYear
2014
fDate
19-23 May 2014
Firstpage
1136
Lastpage
1145
Abstract
Many scientific applications are organized in a data parallel way: as sequences of parallel and/or reduction loops. This exposes parallelism well, but does not convert data reuse between loops into data locality. This paper focuses on this issue in parallel loops whose loop-to-loop dependence structure is data-dependent due to indirect references such as A[B[i]]. Such references are a common occurrence in sparse matrix computations, molecular dynamics simulations, and unstructured-mesh computational fluid dynamics (CFD). Previously, sparse tiling approaches were developed for individual benchmarks to group iterations across such loops to improve data locality. These approaches were shown to benefit applications such as moldyn, Gauss-Seidel, and the sparse matrix powers kernel, however the run-time routines for performing sparse tiling were hand coded per application. In this paper, we present a generalized full sparse tiling algorithm that uses the newly developed loop chain abstraction as input, improves inter-loop data locality, and creates a task graph to expose shared-memory parallelism at runtime. We evaluate the overhead and performance impact of the generalized full sparse tiling algorithm on two codes: a sparse Jacobi iterative solver and the Airfoil CFD benchmark.
Keywords
abstract data types; computational fluid dynamics; mathematics computing; parallel programming; program control structures; software performance evaluation; Airfoil CFD benchmark; generalized full sparse tiling algorithm; inter-loop data locality improvement; loop chain abstraction; loop-to-loop dependence structure; overhead impact evaluation; parallel data organization; parallel loop sequence; performance impact evaluation; reduction loop sequence; run-time routines; run-time tiling generalization; scientific applications; shared-memory parallelism; sparse Jacobi iterative solver; task graph; Arrays; Benchmark testing; Indexes; Jacobian matrices; Parallel processing; Sparse matrices; inspector/executor; run-time reordering transformations; tiling;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing Symposium, 2014 IEEE 28th International
Conference_Location
Phoenix, AZ
ISSN
1530-2075
Print_ISBN
978-1-4799-3799-8
Type
conf
DOI
10.1109/IPDPS.2014.118
Filename
6877342
Link To Document