Spack: the Supercomputing Package Manager

RESOURCE

Abstract

The HPC software ecosystem is growing larger and more complex, but software distribution mechanisms have not kept up with this trend. Tools, Libraries, and applications need to run on multiple platforms and build with multiple compliers. Increasingly, packages leverage common software components, and building any one component requires building all of its dependencies. In HPC environments, ABI-incompatible interfaces (likeMPI), binary-incompatible compilers, and cross-compiled environments converge to make the build process a combinatoric nightmare. This obstacle deters many users from adopting useful tools, and others waste countless hours building and rebuilding tools. Many package managers exist to solve these problems for typical desktop environments, but none suits the unique needs of supercomputing facilities or users. To address these problems, we have Spack, a package manager that eases the task of managing software for end-users, across multiple platforms, package versions, compilers, and ABI incompatibilities.
Developers:
Gamblin, Todd [1]
  1. Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Release Date:
2013-11-09
Project Type:
Open Source, Publicly Available Repository
Software Type:
Scientific
Licenses:
GNU Lesser General Public License v2.1
Sponsoring Org.:
Code ID:
2666
Site Accession Number:
5130
Research Org.:
Lawrence Livermore National Laboratory
Country of Origin:
United States
Keywords:
ECP

RESOURCE

Citation Formats

Gamblin, Todd. Spack: the Supercomputing Package Manager. Computer Software. https://github.com/spack/spack. USDOE. 09 Nov. 2013. Web. doi:10.11578/dc.20171025.1465.
Gamblin, Todd. (2013, November 09). Spack: the Supercomputing Package Manager. [Computer software]. https://github.com/spack/spack. https://doi.org/10.11578/dc.20171025.1465.
Gamblin, Todd. "Spack: the Supercomputing Package Manager." Computer software. November 09, 2013. https://github.com/spack/spack. https://doi.org/10.11578/dc.20171025.1465.
@misc{ doecode_2666,
title = {Spack: the Supercomputing Package Manager},
author = {Gamblin, Todd},
abstractNote = {The HPC software ecosystem is growing larger and more complex, but software distribution mechanisms have not kept up with this trend. Tools, Libraries, and applications need to run on multiple platforms and build with multiple compliers. Increasingly, packages leverage common software components, and building any one component requires building all of its dependencies. In HPC environments, ABI-incompatible interfaces (likeMPI), binary-incompatible compilers, and cross-compiled environments converge to make the build process a combinatoric nightmare. This obstacle deters many users from adopting useful tools, and others waste countless hours building and rebuilding tools. Many package managers exist to solve these problems for typical desktop environments, but none suits the unique needs of supercomputing facilities or users. To address these problems, we have Spack, a package manager that eases the task of managing software for end-users, across multiple platforms, package versions, compilers, and ABI incompatibilities.},
doi = {10.11578/dc.20171025.1465},
url = {https://doi.org/10.11578/dc.20171025.1465},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20171025.1465}},
year = {2013},
month = {nov}
}