SPACK: A Package Manager for Supercomputers, Linux, and MacOS

In this video from Switzerland HPC Conference, Massimiliano Culpo from EPFL presents: SPACK – A Package Manager for Supercomputers, Linux and MacOS.

“HPC software is becoming increasingly complex. The space of possible build configurations is combinatorial, and existing package management tools do not handle these complexities well. Because of this, most HPC software is built by hand. This talk introduces “Spack“, an open-source tool for scientific package management which helps developers and cluster administrators avoid having to waste countless hours porting and rebuilding software. Spack uses concise package recipes written in Python to automate builds with arbitrary combinations of compilers, MPI versions, and dependency libraries. With Spack, users can rapidly install software without knowing how to build it; developers can efficiently manage automatic builds of tens or hundreds of dependency libraries; and HPC centers staff can deploy many versions of software for thousands of users.”

Massimiliano Culpo graduated with honours in Electrical Engineering from “Politecnico di Milano” in 2006 and obtained a Ph.D. in Applied Mathematics from BUW, Germany in November 2009. He worked for many years at CINECA with a team that developed proprietary software for private clients in the “Oil and Gas” segment and was responsible for the design of C++ libraries and applications. Currently Massimiliano works in the “Scientific IT and Application Support” group at EPFL, where he’s mainly responsible for the automation of software installations on clusters. In the last year and a half, he has become proficient with Python and contributes to Spack as part of his daily operations.

In the following tutorial from Switzerland HPC Conference, Massimiliano Culpo from EPFL presents: SPACK – The Daily Job of a User (and a Packager).

\

“We will demonstrate how to install, uninstall and query information on the built-in packages. Particular attention will be given to the domain specific language that users can employ to customize dependencies, compilers, and versions on the command line. The basic structure of Spack packages will be analyzed more in details and attendees will have a first introduction on how to write their own build recipes in Spack’s embedded Python DSL.”

See more talks in the Switzerland HPC Conference Video Gallery

Sign up for our insideHPC Newsletter