DSLHyPE-a DSL kernel language for the Exascale Hyperbolic PDE Engine ExaHyPE
Timothy J. R. Stokes, Nick Brown, Thomas A. Flynn, Maurice Jamieson, Tobias Weinzierl
Abstract
We introduce a bilingual domain-specific language (DSL) for modelling compute kernels within a generic solver for hyperbolic partial differential equations (PDEs). Users express PDE terms, i.e.~the underlying physics, in a familiar native language such as C or C++, while the numerical scheme is specified in a Python-embedded DSL, DSLHyPE. DSLHyPE's compiler lowers the Python description to MLIR and introduces a translation pass that integrates it with native code likewise mapped to MLIR. Our approach keeps the numerical representation and the physics implementation separate for as long as possible, while delegating optimization to the compiler through existing MLIR optimization passes. This separation of concerns benefits researchers developing numerical schemes on top of existing PDE implementations or with applications involving nonlinear systems whose PDE terms must solve PDEs themselves. We demonstrate the feasibility of the approach using a gravitational-wave solver and a matter-evolution solver on x86 processors and H200 GPUs.
Create a lesson
Related papers
The Pauli Lightcone: Information-Theoretic Error Mitigation Beyond the Autocorrelation
Paolo D'Alberto
Opal.jl: a comprehensive, composable framework for data assimilation in Julia
Nicholas Mueller
ADDA: a Modular Framework for Representing, Simulating and Assimilating Dynamics with End-to-end Differentiability
Anthony Frion, Vien Minh Nguyen-Thanh, Ali Can Bekar et al.
Eigensolvers for polynomial roots and tensor decomposition
Enrica Barrilli, Bernard Mourrain
Tensor Network Kernel Machines: A JAX Framework for Machine Learning and Nonlinear System Identification
Albert Saiapin, Kim Batselier
A Performance Portable Matrix Free Dense MTTKRP in GenTen
Gabriel Kosmacher, Eric T. Phipps, Sivasankaran Rajamanickam