As we move towards exascale computing, computer architecture is bound to see dramatic changes. Multiple nodes, with or without shared memory, multicore and accelerators (GPUs, FPGAs) will be the norm. For many domains, such as finite difference numerical simulations, the array used to represent a perfect match between the user level code and the hardware architecture’s uniform memory access, well supported by programming languages and compilers. Facing the exascale challenge, we propose replacing the compiler supported array by an array API, empowering the software developer to implement their own array-memory layout. Application code written towards such an API will be independent of underlying architecture changes, thus easily ported between architectures. Here we demonstrate the viability of this approach by demonstrating an array API for finite difference solvers.
Tue 19 JunDisplayed time zone: Eastern Time (US & Canada) change
16:10 - 17:20 | |||
16:10 35mTalk | Inner Array Inlining for Structure of Arrays Layout ARRAY Matthias Springer Tokyo Institute of Technology, Yaozhu Sun Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology Pre-print | ||
16:45 35mTalk | An Array API for Finite Difference Methods ARRAY Eva Burrows University of Bergen, Norway, Helmer André Friis IRIS, Norway, Magne Haveraaen University of Bergen, Norway |