Wallerberger, M. (2025, June 24). Lines of communication in scientific software [Conference Presentation]. ALPS workshop 2025, San Sebastian, Spain. https://doi.org/10.34726/11825
Scientific software reproducibility; Multi-language software architectures; Software maintenance and reliability
en
Abstract:
In this somewhat opinionated talk, I want to share my experience from working on several medium-size scientific software packages. Such packages are usually broken down into several binaries and libraries, often written in multiple languages. These parts are interconnected by an intricate web of diverse communication channels (files, libraries, extension modules, scripting) as well as interfaced to a smorgasbord of external dependencies (BLAS, MPI, non-standard libraries). This presents unique challenges for maintenance, development, and deployment, but, more scientifically relevant, reproducibility and reliability.
Specifically, I will discuss the shortcomings of automatic interface and native module generation based on my experience with w2dynamics. I will further argue against C++, Rust and Python as ABI boundaries based on experiences from sparse-ir. I will also outline the unique challenges of deployment of external dependencies, based on experience with ALPScore. Time permitting, I will argue against HDF5 as an interchange file format and discuss the cost of teaching C++ to physics students and the probability that students can then write maintainable code. I will contrast this and advocate for a set of well-specified libraries with a clear, universal interface.
en
Project title:
Sparse modeling for 2P response and parquet equations: P 36332-N (FWF - Österr. Wissenschaftsfonds)