PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
February 19, 20260 citationsOpen Access

Lines of communication in scientific software

MWMarkus Wallerberger

Key Points

  • The goal is to explore communication challenges in scientific software and propose better practices.
  • Discussed experiences with various scientific software packages.
  • Analyzed drawbacks of automatic interface generation and specific programming languages.
  • Examined deployment issues with external dependencies and file formats.
  • Identified complexities in software communication leading to challenges in reproducibility.
  • Argued against using C++, Rust, and Python as ABI boundaries for scientific software.
  • Proposed a universal library interface to improve maintainability and deployment.

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.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Markus Wallerberger (2025) studied this question.

synapsesocial.com/papers/6996a7a5ecb39a600b3ed8b3https://doi.org/10.34726/11825
Ask AI
Helpful
Bookmark
Share
View Full Paper