Presentation
SIGN IN TO VIEW THIS PRESENTATION Sign In
Managing HPC Software Complexity with Spack
DescriptionModern scientific software stacks rely on thousands of packages, from low-level libraries in C, C++, and Fortran to higher-level tools in Python and R. Scientists must deploy these stacks across diverse environments, from personal laptops to supercomputers, while tailoring workflows to specific tasks. Development workflows often require frequent rebuilds, debugging, and small-scale testing for rapid iteration. In contrast, preparing applications for large-scale HPC production involves performance-critical libraries (e.g., MPI, BLAS, LAPACK) and machine-specific optimizations to maximize efficiency. Managing these varied requirements is challenging. Configuring software, resolving dependencies, and ensuring compatibility can hinder both development and deployment. Spack is an open-source package manager that simplifies building, installing, and customizing HPC software stacks. It offers a flexible dependency model, Python-based syntax for package recipes, and a repository of over 8,500 packages maintained by more than 1,500 contributors. Spack is widely adopted by researchers, developers, cloud platforms, and HPC centers worldwide. This tutorial introduces Spack’s core capabilities, including installing and authoring packages, configuring environments, and deploying optimized software on HPC systems. Attendees will gain foundational skills for automating routine tasks and acquire advanced knowledge to address complex use cases with Spack.





