Add SC16 tutorial to the Spack docs. (#2334)

This commit is contained in:
Todd Gamblin 2016-11-14 18:23:30 -07:00 committed by GitHub
commit 85a05681cc
13 changed files with 64 additions and 17 deletions

View File

@ -61,11 +61,9 @@ or refer to the full manual below.
.. toctree::
:maxdepth: 2
:caption: Step-by-step
:caption: Tutorial
basic_usage_tutorial
module_file_tutorial
package_tutorial
tutorial_sc16
.. toctree::
:maxdepth: 2

View File

@ -0,0 +1 @@
Spack-SC16-Tutorial.pdf filter=lfs diff=lfs merge=lfs -text

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -0,0 +1,48 @@
.. _spack-101:
=============================
Spack 101
=============================
This is a 3-hour introduction to Spack with lectures and live demos. It
was presented as a tutorial at `Supercomputing 2016
<http://sc16.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: _downloads/Spack-SC16-Tutorial.pdf
:height: 72px
:align: left
:alt: Slide Preview
:download:`Download Slides <tutorial/Spack-SC16-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://sc16.supercomputing.org/presentation/?id=tut166&sess=sess209>`_.
Tutorial presented at Supercomputing 2016. November 13, 2016, Salt Lake
City, UT, 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:`packaging-tutorial`
3. :ref:`modules-tutorial`
Full contents:
.. toctree::
tutorial_sc16_spack_basics
tutorial_sc16_packaging
tutorial_sc16_modules

View File

@ -1,4 +1,4 @@
.. _module_tutorial:
.. _modules-tutorial:
=============================
Module Configuration Tutorial

View File

@ -1,4 +1,4 @@
.. _package_tutorial:
.. _packaging-tutorial:
=========================
Package Creation Tutorial
@ -37,7 +37,7 @@ A few things before we get started:
editor you like.
- We'll be writting Python code as part of this tutorial. You can find
successive versions of the Python code in
``$SPACK_ROOT/lib/spack/docs/packaging_tutorial``.
``$SPACK_ROOT/lib/spack/docs/tutorial/examples``.
-------------------------
Creating the Package File
@ -61,7 +61,7 @@ we run ``spack create`` on it:
And Spack should spawn a text editor with this file:
.. literalinclude:: packaging_tutorial/0.package.py
.. literalinclude:: tutorial/examples/0.package.py
:start-after: # flake8: noqa
:language: python
@ -122,10 +122,10 @@ Let's remove some of the ``TODO`` comments, and add links to the mpileaks
homepage and document what mpileaks does. I'm also going to cut out the
Copyright clause at this point to keep this tutorial document shorter,
but you shouldn't do that normally. The results of these changes can be
found in ``$SPACK_ROOT/lib/spack/docs/packaging_tutorial/1.package.py``
found in ``$SPACK_ROOT/lib/spack/docs/tutorial/examples/1.package.py``
and are below. Make these changes to your ``package.py``:
.. literalinclude:: packaging_tutorial/1.package.py
.. literalinclude:: tutorial/examples/1.package.py
:start-after: # flake8: noqa
:language: python
@ -174,9 +174,9 @@ Dependencies
The mpileaks packages depends on three other package: ``MPI``,
``adept-utils``, and ``callpath``. Let's add those via the
``depends_on`` command in our ``package.py`` (this version is in
``$SPACK_ROOT/lib/spack/docs/packaging_tutorial/2.package.py``):
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/2.package.py``):
.. literalinclude:: packaging_tutorial/2.package.py
.. literalinclude:: tutorial/examples/2.package.py
:start-after: # flake8: noqa
:language: python
@ -329,9 +329,9 @@ Specifying Configure Arguments
Let's add the configure arguments to the mpileaks' ``package.py``. This
version can be found in
``$SPACK_ROOT/lib/spack/docs/packaging_tutorial/3.package.py``:
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/3.package.py``:
.. literalinclude:: packaging_tutorial/3.package.py
.. literalinclude:: tutorial/examples/3.package.py
:start-after: # flake8: noqa
:language: python
@ -382,9 +382,9 @@ that it walks. Let's add a variant to allow users to set this when they
build in Spack.
To do this, we'll add a variant to our package, as per the following (see
``$SPACK_ROOT/lib/spack/docs/packaging_tutorial/4.package.py``):
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/4.package.py``):
.. literalinclude:: packaging_tutorial/4.package.py
.. literalinclude:: tutorial/examples/4.package.py
:start-after: # flake8: noqa
:language: python

View File

@ -1,4 +1,4 @@
.. _basics_tutorial:
.. _basics-tutorial:
=========================================
Basic Installation Tutorial