Developing and Distributing HEP Software Stacks with Spack
The Computational Science and AI Directorate at Fermilab is using Spack to support the development efforts of a large number of scientific programmers, in many independent projects and experiments. While independent, these projects share many dependencies. They are typically under continuous and fairly rapid development. They have to support deployment on diverse hardware. This is a different context than is typical for the management of HPC software, where Spack was born. To support our community, we have created a model that enables users to develop code with greater efficiency than is possible with Spack’s current development facilities. In this talk we will present: - a brief introduction to the science we support (particle physics) - how the code we work with is naturally organized into several layers of packages - how we are using Spack to manage those layers - how we leverage the layering to provide efficient support for developers, using our Spack extension “MPD”. - some suggestions for changes or additions to Spack to make such work easier.