Refereed article in conference proceedings (A4)

Finite Difference Methods Fengshui: Alignment through a Mathematics of Arrays

List of Authors: Chetioui B, Mullin L, Abusdal O, Haveraaen M, Järvi J, Macia S

Conference name: ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming

Place: New York, NY

Publication year: 2019

Book title *: ARRAY 2019: Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming

Journal name in source: ARRAY '2019: PROCEEDINGS OF THE 6TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON LIBRARIES, LANGUAGES AND COMPILERS FOR ARRAY PROGRAMMING

Number of pages: 12

ISBN: 978-1-4503-6717-2

DOI: http://dx.doi.org/10.1145/3315454.3329954

Abstract

Numerous scientific-computational domains make use of array data. The core computing of the numerical methods and the algorithms involved is related to multi-dimensional array manipulation. Memory layout and the access patterns of that data are crucial to the optimal performance of the array-based computations. As we move towards exascale computing, writing portable code for efficient data parallel computations is increasingly requiring an abstract productive working environment. To that end, we present the design of a framework for optimizing scientific array-based computations, building a case study for a Partial Differential Equations solver. By embedding the Mathematics of Arrays formalism in the Magnolia programming language, we assemble a software stack capable of abstracting the continuous high-level application layer from the discrete formulation of the collective array-based numerical methods and algorithms and the final detailed low-level code. The case study lays the groundwork for achieving optimized memory layout and efficient computations while preserving a stable abstraction layer independent of underlying algorithms and changes in the architecture.

Numerous scientific-computational domains make use of array data. The core computing of the numerical methods and the algorithms involved is related to multi-dimensional array manipulation. Memory layout and the access patterns of that data are crucial to the optimal performance of the array-based computations. As we move towards exascale computing, writing portable code for efficient data parallel computations is increasingly requiring an abstract productive working environment. To that end, we present the design of a framework for optimizing scientific array-based computations, building a case study for a Partial Differential Equations solver. By embedding the Mathematics of Arrays formalism in the Magnolia programming language, we assemble a software stack capable of abstracting the continuous high-level application layer from the discrete formulation of the collective array-based numerical methods and algorithms and the final detailed low-level code. The case study lays the groundwork for achieving optimized memory layout and efficient computations while preserving a stable abstraction layer independent of underlying algorithms and changes in the architecture.