.. _spack-101:

=============================
Tutorial: Spack 101
=============================

This is a full-day introduction to Spack with lectures and live demos.  It
was presented as a tutorial at `Supercomputing 2017
<http://sc17.supercomputing.org>`_.  You can use these materials to teach
a course on Spack at your own site, or you can just skip ahead and read
the live demo scripts to see how Spack is used in practice.

.. _sc16-slides:

.. rubric:: Slides

.. figure:: tutorial/sc16-tutorial-slide-preview.png
   :target: http://spack.io/slides/Spack-SC17-Tutorial.pdf
   :height: 72px
   :align: left
   :alt: Slide Preview

`Download Slides <http://spack.io/slides/Spack-SC17-Tutorial.pdf>`_.

**Full citation:** Todd Gamblin, Massimiliano Culpo, Gregory Becker, Matt
Legendre, Greg Lee, Elizabeth Fischer, and Benedikt Hegner.
`Managing HPC Software Complexity with Spack
<http://sc17.supercomputing.org/presentation/?id=tut151&sess=sess233>`_.
Tutorial presented at Supercomputing 2017. November 13, 2017, Denver, CO, USA.

.. _sc16-live-demos:

.. rubric:: Live Demos

These scripts will take you step-by-step through basic Spack tasks.  They
correspond to sections in the slides above.

  1. :ref:`basics-tutorial`
  2. :ref:`configs-tutorial`
  3. :ref:`packaging-tutorial`
  4. :ref:`build-systems-tutorial`
  5. :ref:`advanced-packaging-tutorial`
  6. :ref:`modules-tutorial`

Full contents:

.. toctree::
   tutorial_basics
   tutorial_configuration
   tutorial_packaging
   tutorial_buildsystems
   tutorial_advanced_packaging
   tutorial_modules
