Managing HPC Software Complexity with Spack

Managing HPC Software Complexity with Spack

Sunday, May 21, 2023 2:00 PM to 6:00 PM · 4 hr. (Europe/Berlin)
Hall Y3 - 2nd Floor
Tutorial
Exascale SystemsHPC Workflows

Information

The modern scientific software stack includes thousands of packages, from C, C++, and Fortran libraries, to packages written in interpreted languages like Python and R. HPC applications may depend on hundreds of packages spanning all of these ecosystems. To achieve high performance, they must also leverage low-level and difficult-to-build libraries such as MPI, BLAS, and LAPACK. Integrating this stack is extremely challenging. The complexity can be an obstacle to deployment at HPC sites and deters developers from building on each other's work. Spack is an open source tool for HPC package management that simplifies building, installing, customizing, and sharing HPC software stacks. Its adoption has grown rapidly: it is used by end-users, by developers, and by world's largest HPC centers. Spack provides a powerful and flexible dependency model, a simple Python syntax for writing package build recipes, and a repository of over 6,000 packages maintained by a community of over 1,000 contributors. This tutorial provides an introduction to Spack's capabilities: installing and authoring packages, integrating Spack with development workflows, and deploying software at HPC facilities. Attendees will learn foundational skills for automating day-to-day tasks, as well as deeper knowledge ofSpack for advanced use cases.
Format
On-site
Targeted Audience
This tutorial targets a broad audience, including users who simply want to install and run packages, developers who plan to author their own packages and automate their dependency management, and HPC facility staff who want to deploy large software stacks with packages and custom modules.
Prerequisites
Attendees should have basic familiarity with compiling and running programs. Basic Python and shell skills are a plus. No knowledge of package managers or build systems is required.
Beginner Level
50%
Intermediate Level
25%
Advanced Level
25%

Log in