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

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Bisbas, George, Lydike, Anton, Bauer, Emilien, Brown, Nick, Fehr, Mathieu, Mitchell, Lawrence, Rodriguez-Canal, Gabriel, Jamieson, Maurice, Kelly, Paul H. J., Steuwer, Michel, Grosser, Tobias
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912264090550272
author Bisbas, George
Lydike, Anton
Bauer, Emilien
Brown, Nick
Fehr, Mathieu
Mitchell, Lawrence
Rodriguez-Canal, Gabriel
Jamieson, Maurice
Kelly, Paul H. J.
Steuwer, Michel
Grosser, Tobias
author_facet Bisbas, George
Lydike, Anton
Bauer, Emilien
Brown, Nick
Fehr, Mathieu
Mitchell, Lawrence
Rodriguez-Canal, Gabriel
Jamieson, Maurice
Kelly, Paul H. J.
Steuwer, Michel
Grosser, Tobias
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2404_02218
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A shared compilation stack for distributed-memory parallelism in stencil DSLs
Bisbas, George
Lydike, Anton
Bauer, Emilien
Brown, Nick
Fehr, Mathieu
Mitchell, Lawrence
Rodriguez-Canal, Gabriel
Jamieson, Maurice
Kelly, Paul H. J.
Steuwer, Michel
Grosser, Tobias
Distributed, Parallel, and Cluster Computing
Mathematical Software
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.
title A shared compilation stack for distributed-memory parallelism in stencil DSLs
topic Distributed, Parallel, and Cluster Computing
Mathematical Software
url https://arxiv.org/abs/2404.02218