TY - GEN
T1 - Parameterized diamond tiling for stencil computations with Chapel parallel iterators
AU - Bertolacci, Ian J.
AU - Olschanowsky, Catherine
AU - Harshbarger, Ben
AU - Chamberlain, Bradford L.
AU - Wonnacott, David G.
AU - Strout, Michelle Mills
N1 - Funding Information:
This project is supported by a Department of Energy Early Career Grant DE-SC0003956 and a National Science Foundation Grant CCF-1422725. We thank our anonymous reviewers and Andrew Lumsdaine for their many useful sug- gestions for improving the paper, and Wayne Trzyna for providing us dedicated computation time.
PY - 2015/6/8
Y1 - 2015/6/8
N2 - Stencil computations figure prominently in the core kernels of many scientific computations, such as partial differential equation solvers. Parallel scaling of stencil computations can be significantly improved on multicore processors using advanced tiling techniques that include the time dimension, such as diamond tiling. Such techniques are difficult to include in general purpose optimizing compilers because of the need for inter-procedural pointer and array data-ow analysis, plus the need to tune scheduling strategies and tile size parameters for each pairing of stencil computation and machine. Since a fully automatic solution is problematic, we propose to provide parameterized space and time tiling iterators through libraries. Ideally, the execution schedule or tiling code will be expressed orthogonally to the computation. This supports code reuse, easier tuning, and improved programmer productivity. Chapel iterators provide this capability implicitly. We present an advanced, parameterized tiling approach that we have implemented using Chapel parallel iterators. We show how such iterators can be used by programmers in stencil computations with multiple spatial dimensions. We also demonstrate that these new iterators provide better scaling than a traditional data parallel schedule.
AB - Stencil computations figure prominently in the core kernels of many scientific computations, such as partial differential equation solvers. Parallel scaling of stencil computations can be significantly improved on multicore processors using advanced tiling techniques that include the time dimension, such as diamond tiling. Such techniques are difficult to include in general purpose optimizing compilers because of the need for inter-procedural pointer and array data-ow analysis, plus the need to tune scheduling strategies and tile size parameters for each pairing of stencil computation and machine. Since a fully automatic solution is problematic, we propose to provide parameterized space and time tiling iterators through libraries. Ideally, the execution schedule or tiling code will be expressed orthogonally to the computation. This supports code reuse, easier tuning, and improved programmer productivity. Chapel iterators provide this capability implicitly. We present an advanced, parameterized tiling approach that we have implemented using Chapel parallel iterators. We show how such iterators can be used by programmers in stencil computations with multiple spatial dimensions. We also demonstrate that these new iterators provide better scaling than a traditional data parallel schedule.
KW - Chapel
KW - Diamond tiling
KW - Parallel iterators
KW - Separation of concerns
KW - Stencil computations
UR - http://www.scopus.com/inward/record.url?scp=84957564560&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84957564560&partnerID=8YFLogxK
U2 - 10.1145/2751205.275122
DO - 10.1145/2751205.275122
M3 - Conference contribution
AN - SCOPUS:84957564560
T3 - Proceedings of the International Conference on Supercomputing
SP - 197
EP - 206
BT - ICS 2015 - Proceedings of the 29th ACM International Conference on Supercomputing
PB - Association for Computing Machinery
T2 - 29th ACM International Conference on Supercomputing, ICS 2015
Y2 - 8 June 2015 through 11 June 2015
ER -