Spack is a multi-platform package manager that builds and installs multiple versions and configurations of software. It works on Linux, macOS, and many supercomputers. Spack is non-destructive: installing a new version of a package does not break existing installations, so many configurations of the same package can coexist.
This tutorial covers basic to advanced usage, packaging, developer features, and large HPC deployments. You can do all of the exercises on your own laptop using a Docker container. Feel free to use these materials to teach users at your organization about Spack.
Updating the tutorial
- Create a new branch named for the event/milestone that corresponds to the new version you want to create.
- Upload screen shot of first slide (244px wide, .png) to images directory following existing file-naming convention.
- Upload PDF of slide deck to slides directory following existing file-naming convention.
- Update index.rst with event name and date; full citation; and file paths for image and PDF.
- Update this README (lines 3 and 7) with link to new version's URL.
- Build docs locally.
- Push changes to GitHub and active new tag/version on Read the Docs.
- Build new version on Read the Docs.
Updating the tutorial container
The spack tutorial container is built from another repository by an automated process. For instructions on how to create an updated version of the tutorial container, see these instructions. For a general description of the automated process used to build the tutorial container, read the description.
Spack is distributed under the terms of both the MIT license and the Apache License (Version 2.0). Users may choose either license, at their option.
All new contributions must be made under both the MIT and Apache-2.0 licenses.
SPDX-License-Identifier: (Apache-2.0 OR MIT)