A Scala Prototype to Generate Multigrid Solver Implementations for Different Problems and Target Multi-Core Platforms
Harald Koestler, Christian Schmitt, Sebastian Kuckuk, Frank Hannig,, Juergen Teich, Ulrich Ruede

TL;DR
This paper presents a Scala-based prototype framework that automatically generates multigrid solver implementations tailored for various PDE problems and optimized for multi-core CPU and GPU platforms.
Contribution
It introduces a novel Scala framework that abstracts PDE descriptions to generate customized multigrid solvers for different hardware architectures.
Findings
Successful automatic generation of multigrid solvers for CPU and GPU
Framework supports various PDEs and discretizations
Demonstrated efficiency on test problems
Abstract
Many problems in computational science and engineering involve partial differential equations and thus require the numerical solution of large, sparse (non)linear systems of equations. Multigrid is known to be one of the most efficient methods for this purpose. However, the concrete multigrid algorithm and its implementation highly depend on the underlying problem and hardware. Therefore, changes in the code or many different variants are necessary to cover all relevant cases. In this article we provide a prototype implementation in Scala for a framework that allows abstract descriptions of PDEs, their discretization, and their numerical solution via multigrid algorithms. From these, one is able to generate data structures and implementations of multigrid components required to solve elliptic PDEs on structured grids. Two different test problems showcase our proposed automatic…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Computational Physics and Python Applications
