Minutes-to-Modules: Rapid, Reproducible Software Packaging with Spack and CI for Research HPC on Gadi and Setonix

Mr Justin Kin Jun Hew1, Mr Harshula Jayasuriya1, Mr Tommy Gatti1, Dr Aidan Heerdegen, Mr Lawrence Bird1, Dr Mike Tetley1

1Australia’s Climate Simulator (ACCESS-NRI), Australian National University, Canberra, Australia, Acton, Australia

Biography:

Justin Kin Jun Hew is a Research Software Engineer at ACCESS-NRI and a Research Officer in the Department of Nuclear Physics, working at the intersection of computational physics and climate modeling. His research spans ice sheet dynamics, high-performance computing, and turbulence in magnetohydrodynamics. Justin has contributed to open-source scientific software and he was the 2024 Bok Honours scholar in astrophysics and physics at the Australian National University.

ORCiD: https://orcid.org/0000-0002-5238-6115

Abstract:

Scientific discovery often stalls at the software-installation step: every dependency resolved by hand is an hour not spent on analysis. At ACCESS-NRI we turned this bottleneck into a two-hour sprint by coupling Spack’s declarative package manager with a lightweight, test-first recipe pattern. Using the Ice-sheet and Sea-level System Model (ISSM) as a case study, we demonstrate how a single, readable Python class now reproduces a 50-library HPC build—MPI, PETSc, Triangle, wrappers, examples and all—across Gadi, Setonix and GitHub Actions CI.

This presentation showcases three accelerators that turn software installation into a sprint. First, a template-driven scaffolding tool generates a fully-formed package.py—complete with variants and configure_args()—so researchers tweak only the science-specific components instead of wrestling with boilerplate. Second, a lightweight dependency-introspection utility scans modules already loaded and converts them into precise Spack constraints, slashing trial-and-error cycles. Finally, treating CI as documentation, GitHub Actions builds every commit in both Docker and on HPC nodes, caches resulting artefacts and generates build logs that double as living install notes—meaning newcomers can reproduce a working environment in minutes, not days. We report a significant drop in “time-to-first-run” for new team members—and a spike in upstream contributions as external collaborators adopt such templates. Attendees will leave with a copy-paste recipe, a checklist for packaging complex MPI codes, and a roadmap to embed rapid packaging practices in their own projects.

Whether you maintain legacy Fortran or fresh CUDA kernels, this talk shows how a culture of package early, package often unlocks quicker science and creates calmer researchers.

 

Categories