An execution abstraction for compact computational kernels on unstructured meshes

The numerical solution of partial differential equations (PDEs) is critical to a wide range of scientific and engineering disciplines. Developing software to solve such systems is difficult, requiring expertise in many disparate areas and months or years of developer time. To ease this burden, a number of simulation frameworks make use of high-level domain-specific languages (DSLs) that mirror the underlying mathematics. The use of DSLs introduces a separation of concerns between the top level mathematics and the low-level implementation and lowers the barrier to entry to high fidelity simulation codes, leading to more and better science. The expressive power, and hence to some extent the value, of a DSL as a tool for computation hinges upon the existence of the right abstractions. If the abstractions that underly the DSL are are a poor fit to the top-level mathematics then many problems that should naturally be expressible are not, either barring the user from implementing the desired method, or requiring sui-generis solutions that compose poorly with the rest of the software stack. This thesis focusses on one particular type of abstraction that is relevant to the solution of PDEs: the application of compact computational kernels (a.k.a. stencils) to unstructured meshes. Classically, finding abstractions for this operation is difficult because data stored on unstructured meshes have complex layouts, with additional considerations such as parallelism making things even more challenging. This work presents a suite of novel abstractions that encapsulate the processes of storing and accessing complex data layouts on unstructured meshes, as well as an implementation of said abstractions in the new Python library pyop3. These abstractions better capture the semantics of what it means to apply a kernel over a mesh, leading to a framework where a greater range of algorithms may be expressed, transformed, and optimised.

Institutions

Publication Details

Journal
Imperial College Research Computing Service Data Repository
Published
2024-09-30
DOI
https://doi.org/10.25560/116981
Primary Topic
Plant Diversity and Evolution
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

An execution abstraction for compact computational kernels on unstructured meshes

Imperial College Research Computing Service Data Repository
Plant Diversity and Evolution
article

An execution abstraction for compact computational kernels on unstructured meshes

article en

Abstract

The numerical solution of partial differential equations (PDEs) is critical to a wide range of scientific and engineering disciplines. Developing software to solve such systems is difficult, requiring expertise in many disparate areas and months or years of developer time. To ease this burden, a number of simulation frameworks make use of high-level domain-specific languages (DSLs) that mirror the underlying mathematics. The use of DSLs introduces a separation of concerns between the top level mathematics and the low-level implementation and lowers the barrier to entry to high fidelity simulation codes, leading to more and better science. The expressive power, and hence to some extent the value, of a DSL as a tool for computation hinges upon the existence of the right abstractions. If the abstractions that underly the DSL are are a poor fit to the top-level mathematics then many problems that should naturally be expressible are not, either barring the user from implementing the desired method, or requiring sui-generis solutions that compose poorly with the rest of the software stack. This thesis focusses on one particular type of abstraction that is relevant to the solution of PDEs: the application of compact computational kernels (a.k.a. stencils) to unstructured meshes. Classically, finding abstractions for this operation is difficult because data stored on unstructured meshes have complex layouts, with additional considerations such as parallelism making things even more challenging. This work presents a suite of novel abstractions that encapsulate the processes of storing and accessing complex data layouts on unstructured meshes, as well as an implementation of said abstractions in the new Python library pyop3. These abstractions better capture the semantics of what it means to apply a kernel over a mesh, leading to a framework where a greater range of algorithms may be expressed, transformed, and optimised.

Imperial College Research Computing Service Data Repository
Imperial College London (GB)
Industry, innovation and infrastructure
Openalex Percentile: Top 60%
Plant Diversity and Evolution
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

An execution abstraction for compact computational kernels on unstructured meshes · Imperial College Research Computing Service Data Repository (2024) | TGRS Research Map | TGRS