SC20 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Spack Community BoF

Authors: Adam Stewart (University of Illinois), Gregory Becker (Lawrence Livermore National Laboratory), Tamara Dahlgren (Lawrence Livermore National Laboratory), Shahzeb Siddiqui (Lawrence Berkeley National Laboratory), Todd Gamblin (Lawrence Livermore National Laboratory)

Abstract: Spack is a package manager for scientific computing, with a rapidly growing open-source community. Spack has over 600 contributors from academia, industry and laboratories across the world, and is used to manage software releases for the U.S. Exascale Computing Project. At this BoF, Spack developers will give updates on the community, new features and the roadmap for future development. We will poll the audience to gather valuable information on how Spack is being used, and will open the floor for questions. All are invited to provide feedback, request features and discuss future directions. Help us make installing HPC software simple!

Long Description: HPC software is becoming increasingly complex. The largest applications require over 100 dependency libraries, and they combine interpreted languages like Python with C, C++, and Fortran libraries. To achieve good performance, developers tune for multiple compilers, build options, and implementations of dependency libraries like MPI, BLAS, and LAPACK. The space of possible build configurations is combinatorial, and developers waste countless hours rebuilding software instead of producing new scientific results.

Spack ( is a package manager for scientific computing. It aims to reduce the complexity of building and installing HPC software on laptops, clusters, and the most powerful supercomputers in the world. There are over 4,300 package recipes in the Spack mainline repository, and over 2,000 users visit the Spack documentation monthly. Spack has a rapidly growing open source community from across the world, with over 600 contributors from academia, industry, and laboratories. End users install complex HPC applications; developers manage dependencies for themselves and for their team; and the largest supercomputing sites in the world use Spack to deploy software for thousands of users. Spack is also being used to manage software releases for the U.S. Exascale Computing Project.

The goals of this BOF are: 1) to inform users about recent and upcoming developments, 2) to connect sites and developers using Spack to manage software, 3) to solicit feedback to guide future directions, and 4) to build the Spack community.

Since we originally presented Spack at SC15, the community has grown very rapidly, and new features are being added at a rapid pace. SC is a great venue to keep the user community informed about the most important new developments.

This Spack Community BOF was also held at SC18, with an attendance of 80, and SC19, with an attendance of 90. Since then, the number of contributors to Spack has grown by 50%, thanks to new collaborations with RIKEN, Fujitsu, and other organizations. We have held Spack tutorials at SC16, SC17, SC18, and SC19, with a fifth to be held at SC20. Last year's tutorial had upwards of 60 attendees. At the PEARC19 conference, we had another 70 attendees. Users and contributors have asked for a more interactive forum to build the community, make announcements, and solicit feedback. An SC BOF is the ideal venue for these interactions.


Back to Birds of a Feather Archive Listing