Lines of communication in scientific software

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.

Authors

Publication Details

Journal
reposiTUm (TU Wien)
Published
2025-06-24
DOI
https://doi.org/10.34726/11825
Primary Topic
Scientific Computing and Data Management
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Lines of communication in scientific software

Markus Wallerberger
reposiTUm (TU Wien)
Scientific Computing and Data Management
article

Lines of communication in scientific software

Markus Wallerberger
article 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.

reposiTUm (TU Wien)
Quality Education
Openalex Percentile: Top 10%
Scientific Computing and Data Management
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.