An Algebraic Programming Style for Numerical Software and its Optimization
T. B. Dinesh (Academic Systems Corp.), M. Haveraaen (UiB), J., Heering (CWI)

TL;DR
This paper introduces Sophus, an algebraic programming style for PDE solvers that uses abstract datatypes and algebraic expressions to better align code with mathematical theory, enabling specialized optimization.
Contribution
It presents a novel programming style that bridges the gap between PDE mathematical theory and practical software implementation through algebraic data types and expression syntax.
Findings
Sophus style code can be optimized with a dedicated source-to-source optimizer.
The approach shows promising results on computationally intensive PDE code.
The method may be applicable to other domains requiring algebraic structures.
Abstract
The abstract mathematical theory of partial differential equations (PDEs) is formulated in terms of manifolds, scalar fields, tensors, and the like, but these algebraic structures are hardly recognizable in actual PDE solvers. The general aim of the Sophus programming style is to bridge the gap between theory and practice in the domain of PDE solvers. Its main ingredients are a library of abstract datatypes corresponding to the algebraic structures used in the mathematical theory and an algebraic expression style similar to the expression style used in the mathematical theory. Because of its emphasis on abstract datatypes, Sophus is most naturally combined with object-oriented languages or other languages supporting abstract datatypes. The resulting source code patterns are beyond the scope of current compiler optimizations, but are sufficiently specific for a dedicated source-to-source…
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.
