🤖 AI Summary
Interoperability bottlenecks arise in scientific computing due to cross-language invocation and multi-implementation switching. Method: This paper proposes a cross-language open interface standard for generic numerical tasks, built upon formal interface specification, automated multi-language binding generation, zero-copy data serialization, and ABI-aware metaprogrammed marshalling—enabling non-intrusive integration with existing solvers. Contribution/Results: We introduce the first lightweight coupling framework supporting Python, C++, and Julia while preserving both abstraction and high performance. The standard significantly lowers barriers to numerical software reuse and reduces cross-language integration time. Empirical validation across multiple HPC and mathematical software projects confirms its engineering efficacy and scalability.
📝 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, in which numerical packages are usually implemented, and of switching between multiple implementations of the same mathematical problem. 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 code efforts. The software has high reuse potential due to aim to solve general numerical problems.