Speaker
Description
In scientific computing, researchers often encounter two challenges while conducting computational experiments. First, many problems necessitate the use of multiple numerical solvers implemented in different programming languages. Second, numerical solvers for the same problem type typically have discrepancies in their programming interfaces. These factors hinder interoperability: connecting solvers together requires writing bindings between programming languages, while replacing one solver with another (for the same problem type) requires adapting the calling code to different function signatures.
To diminish these challenges, we work on the Measure 2.2 “Open Interfaces” of the MaRDI project. We are developing a library that automatically handles data marshalling and function calls across programming languages eliminating the need for manual bindings. Additionally, we are developing a set of interfaces for common numerical problems. Thus, via MaRDI Open Interfaces, interoperability of numerical solvers can be improved.
In the talk, we describe the software architecture and implementation details of the library. We also demonstrate its application using the developed open interface for solving initial-value problems for ordinary differential equations, as well as provide performance study comparing the library's overhead with direct usage of numerical solvers.