The U.S. Exascale Computing Project aims to produce an exascale-ready software ecosystem by the time the first exascale systems arrive in 2021. The software stack includes applications, software packages, and libraries from across the DOE, as well as their dependencies. The stack must be built in many different configurations, and it must be simple to deploy for users, developers, and HPC administrators in many fields. To satisfy these needs, ECP chosen Spack as its software deployment tool. Spack is an open-source package manager for HPC. Its simple, templated Python DSL allows the same package to be built in many configurations, with different compilers, flags, dependencies, and dependency versions. It is used on laptops and on the world’s largest supercomputers.
This talk will focus on Spack and the many deployment activities currently surrounding it in ECP, from coordinated software releases, to facility deployment, containerization, and continuous integration. The talk will give a basic overview of Spack, an in-depth look at deployment efforts, and a near-term Spack development roadmap.