Achieving high performance for array computations (such as linear algebra routines and stencil computations), on modern architectures (GPUs, CPUs, etc), is key for the success of popular application domains, particularly deep learning.
The MDH approach was recently introduced to formally express and reason about array computations that target contemporary parallel architectures; it is shown that MDH successfully addresses the three major challenges of achieving \emph{Performance}, \emph{Portability}, and \emph{Productivity}. However, the MDH approach is only introduced formally, in the form of algebraic building blocks, leaving open the (non-trivial) questions of 1) how to design a DSL for expressing the formal, algebraic MDH building blocks, and 2) how can executable program code from such DSL programs be generated concretely, which is described in MDH only formally.
Our talk aims to present our work-in-progress results for the first challenge: a Python DSL for MDH that expresses array computations in a concise, formally grounded manner. We aim to illustrate, discuss, and motivate our DSL design, show how important computations are expressed in our MDH DSL, and how it compares to the popular Linalg DSL for array computations.
Our aim is to stimulate lively discussions at ARRAY and to gain valuable feedback from the ARRAY community for our work-in-progress results.
Tue 17 JunDisplayed time zone: Seoul change
14:00 - 15:20 | |||
14:00 30mTalk | (De/Re)-Composition of Array Computations via Multi-Dimensional Homomorphisms ARRAY Link to publication Media Attached | ||
14:30 30mTalk | An MDH-Based DSL for Array Computations ARRAY Link to publication Media Attached |