
Improving Interoperability in Scientific Computing via MaRDI Open Interfaces
Abstract
MaRDI Open Interfaces is a software project aimed at improving reuse and interoperability in scientific computing by alleviating the difficulties of crossing boundaries between different programming languages, such as C, Julia, or Python, in which numerical packages are usually implemented, and of switching between multiple implementations of the same mathematical problem, for example, between different solvers for time integration of differential equations. The software consists of a set of formal interface specifications for common scientific computing tasks, as well as a set of loosely coupled libraries that facilitate implementing these interfaces or adapting existing implementations for multiple programming languages and handle data marshalling automatically without sacrificing performance, enabling users to use different implementations without significant coding efforts. The software has high reuse potential, especially for the tasks such as benchmarking several solvers or when low-level access to the interface of a particular solver is not required.
© 2025 Dmitry I. Kabanov, Stephan Rave, Mario Ohlberger, published by Ubiquity Press
This work is licensed under the Creative Commons Attribution 4.0 License.