PLDI 2025
Mon 16 - Fri 20 June 2025 Seoul, South Korea

The MDH approach (\emph{Multi-Dimensional Homomorphisms}) offers a formalism for array programming: data-parallel computations on arrays, such as linear algebra routines and stencil computations, are expressed via higher-order functions (a.k.a. \emph{patterns} or \emph{skeletons} in programming terminology), and optimized program code is fully automatically generated from these functions in the MDH approach, e.g., in CUDA for GPU or OpenCL for CPUs.

Our talk aims to summarize the findings of, which particularly includes the three major contributions of the MDH approach: 1) a \emph{high-level program representation} for expressing data-parallel array computations in a convenient, hardware- and optimization-agnostic manner, based on formally defined higher-order functions; 2) a \emph{low-level program representation} to formally reason about optimizations and from which we can straightforwardly generate executable program code (e.g., in CUDA or OpenCL); 3) a \emph{fully automatic process} for lowering a program expressed in MDH’s high-level program representation to an hardware-optimized MDH program in its low-level representation, based on auto-tuning. Experimental results confirm that MDH achieves higher performance on GPUs and CPUs than well-performing state-of-practice approaches, including hand-optimized vendor libraries from NVIDIA and Intel.

Our aim is to stimulate lively discussions at the workshop and to get valuable feedback from the ARRAY community.