Finite Difference Methods Fengshui: Alignment through a Mathematics of Arrays
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 arrays 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 portables codes for efficient data parallel computations is increasingly requiring an abstract productive working environment. In this paper, we present the design of a productive, reusable and tunable framework for optimising scientific array-based computations, building a case study for a Partial differential equations solver. By embedding the Mathematics of Arrays formalism to 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 shows how optimised memory layout and efficient computations can be achieved while preserving the application abstraction layer stable and independent of underlying algorithms and architectures changes.
Sat 22 Jun
|11:30 - 12:00|
|12:00 - 12:30|