Imperial College London

Fabio Luporini

Faculty of EngineeringDepartment of Earth Science & Engineering

 
 
 
//

Contact

 

f.luporini12 Website

 
 
//

Location

 

301William Penney LaboratorySouth Kensington Campus

//

Summary

 

Publications

Citation

BibTex format

@article{Luporini:2019:10.1145/3302256,
author = {Luporini, F and Lange, M and Jacobs, CT and Gorman, GJ and Ramanujam, J and Kelly, PHJ},
doi = {10.1145/3302256},
journal = {ACM Transactions on Mathematical Software},
title = {Automated tiling of unstructured mesh computations with application to seismological modeling},
url = {http://dx.doi.org/10.1145/3302256},
volume = {45},
year = {2019}
}

RIS format (EndNote, RefMan)

TY  - JOUR
AB - Publication rights licensed to ACM. Sparse tiling is a technique to fuse loops that access common data, thus increasing data locality. Unlike traditional loop fusion or blocking, the loops may have different iteration spaces and access shared datasets through indirect memory accesses, such as A[map[i]]-hence the name “sparse.” One notable example of such loops arises in discontinuous-Galerkin finite element methods, because of the computation of numerical integrals over different domains (e.g., cells, facets). The major challenge with sparse tiling is implementation-not only is it cumbersome to understand and synthesize, but it is also onerous to maintain and generalize, as it requires a complete rewrite of the bulk of the numerical computation. In this article, we propose an approach to extend the applicability of sparse tiling based on raising the level of abstraction. Through a sequence of compiler passes, the mathematical specification of a problem is progressively lowered, and eventually sparse-tiled C for-loops are generated. Besides automation, we advance the state-of-the-art by introducing a revisited, more efficient sparse tiling algorithm; support for distributed-memory parallelism; a range of fine-grained optimizations for increased runtime performance; implementation in a publicly available library, SLOPE; and an in-depth study of the performance impact in Seigen, a real-world elastic wave equation solver for seismological problems, which shows speed-ups up to 1.28× on a platform consisting of 896 Intel Broadwell cores.
AU - Luporini,F
AU - Lange,M
AU - Jacobs,CT
AU - Gorman,GJ
AU - Ramanujam,J
AU - Kelly,PHJ
DO - 10.1145/3302256
PY - 2019///
SN - 0098-3500
TI - Automated tiling of unstructured mesh computations with application to seismological modeling
T2 - ACM Transactions on Mathematical Software
UR - http://dx.doi.org/10.1145/3302256
UR - http://hdl.handle.net/10044/1/70807
VL - 45
ER -