.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
   Spack Project Developers. See the top-level COPYRIGHT file for details.

   SPDX-License-Identifier: (Apache-2.0 OR MIT)

.. _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 the `Exascale Computing Project Annual
Meeting <https://ecpannualmeeting.com/agenda.php>`_ in 2019.  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-ECP19-Tutorial.pdf
   :height: 72px
   :align: left
   :alt: Slide Preview

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

**Full citation:** Todd Gamblin, Gregory Becker, Matt Legendre, Mario
Melara, and Peter Scheibel.  `Spack Tutorial
<https://whova.com/embedded/subsession/aecm_201901/503158/503161/>`_.
Presented at ECP Annual Meeting 2019. January 14, 2019. Houston, TX, USA.

.. 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:`environments-tutorial`
  5. :ref:`modules-tutorial`
  6. :ref:`build-systems-tutorial`
  7. :ref:`advanced-packaging-tutorial`

Full contents:

.. toctree::
   tutorial_basics
   tutorial_configuration
   tutorial_packaging
   tutorial_environments
   tutorial_modules
   tutorial_buildsystems
   tutorial_advanced_packaging
