English

A shared compilation stack for distributed-memory parallelism in stencil DSLs

Distributed, Parallel, and Cluster Computing 2025-03-10 v2 Mathematical Software

Abstract

Domain Specific Languages (DSLs) increase programmer productivity and provide high performance. Their targeted abstractions allow scientists to express problems at a high level, providing rich details that optimizing compilers can exploit to target current- and next-generation supercomputers. The convenience and performance of DSLs come with significant development and maintenance costs. The siloed design of DSL compilers and the resulting inability to benefit from shared infrastructure cause uncertainties around longevity and the adoption of DSLs at scale. By tailoring the broadly-adopted MLIR compiler framework to HPC, we bring the same synergies that the machine learning community already exploits across their DSLs (e.g. Tensorflow, PyTorch) to the finite-difference stencil HPC community. We introduce new HPC-specific abstractions for message passing targeting distributed stencil computations. We demonstrate the sharing of common components across three distinct HPC stencil-DSL compilers: Devito, PSyclone, and the Open Earth Compiler, showing that our framework generates high-performance executables based upon a shared compiler ecosystem.

Keywords

Cite

@article{arxiv.2404.02218,
  title  = {A shared compilation stack for distributed-memory parallelism in stencil DSLs},
  author = {George Bisbas and Anton Lydike and Emilien Bauer and Nick Brown and Mathieu Fehr and Lawrence Mitchell and Gabriel Rodriguez-Canal and Maurice Jamieson and Paul H. J. Kelly and Michel Steuwer and Tobias Grosser},
  journal= {arXiv preprint arXiv:2404.02218},
  year   = {2025}
}

Comments

Fix some bibtex links, journal ref