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.
Mon 21 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 11:45 | |||
10:30 15mDay opening | Welcome and opening ARRAY Jeremy Gibbons Department of Computer Science, University of Oxford | ||
10:45 30mTalk | Towards size-dependent types for array programming ARRAY | ||
11:15 30mTalk | Padding in the Mathematics of Arrays ARRAY Benjamin Chetioui University of Bergen, Norway, Ole Abusdal Western Norway University of Applied Sciences, Magne Haveraaen University of Bergen, Norway, Jaakko Järvi University of Turku, Lenore Mullin University at Albany, SUNY |