Padding in the Mathematics of Arrays
: Chetioui Benjamin, Abusdal Ole, Haveraaen Magne, Järvi Jaakko, Mullin Lenore
: Tze Meng Low, Jeremy Gibbons
: ACM SIGPLAN International Conference on Programming Language Design and Implementation
: New York, NY
: 2021
: ACM Sigplan Conference on Programming Language Design and Implementation
: ARRAY 2021: Proceedings of the 7th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming
: 15
: 26
: 978-1-4503-8466-7
: 1531-7102
DOI: https://doi.org/10.1145/3460944.3464311
Multi-dimensional array manipulation constitutes a core component of numerous numerical methods, e.g. finite difference solvers of Partial Differential Equations (PDEs). The efficiency of such computations is tightly connected to traversing array data in a hardware-friendly way.
The Mathematics of Arrays (MoA) allows reasoning about array computations at a high level and enables systematic transformations of array-based programs. We have previously shown that stencil computations reduce to MoA's Denotational Normal Form (DNF).
Here we bring to light MoA's Operational Normal Forms (ONFs) that allow for adapting array computations to hardware characteristics. ONF transformations start from the DNF. Alongside the ONF transformations, we extend MoA with rewriting rules for padding. These new rules allow both a simplification of array indexing and a systematic approach to introducing halos to PDE solvers. Experiments on various architectures confirm the flexibility of the approach.