Add SC16 tutorial to the Spack docs. (#2334)
This commit is contained in:
commit
85a05681cc
@ -61,11 +61,9 @@ or refer to the full manual below.
|
|||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
:caption: Step-by-step
|
:caption: Tutorial
|
||||||
|
|
||||||
basic_usage_tutorial
|
tutorial_sc16
|
||||||
module_file_tutorial
|
|
||||||
package_tutorial
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 2
|
:maxdepth: 2
|
||||||
|
1
lib/spack/docs/tutorial/.gitattributes
vendored
Normal file
1
lib/spack/docs/tutorial/.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
Spack-SC16-Tutorial.pdf filter=lfs diff=lfs merge=lfs -text
|
BIN
lib/spack/docs/tutorial/Spack-SC16-Tutorial.pdf
Normal file
BIN
lib/spack/docs/tutorial/Spack-SC16-Tutorial.pdf
Normal file
Binary file not shown.
BIN
lib/spack/docs/tutorial/sc16-tutorial-slide-preview.png
Normal file
BIN
lib/spack/docs/tutorial/sc16-tutorial-slide-preview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
48
lib/spack/docs/tutorial_sc16.rst
Normal file
48
lib/spack/docs/tutorial_sc16.rst
Normal 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
|
@ -1,4 +1,4 @@
|
|||||||
.. _module_tutorial:
|
.. _modules-tutorial:
|
||||||
|
|
||||||
=============================
|
=============================
|
||||||
Module Configuration Tutorial
|
Module Configuration Tutorial
|
@ -1,4 +1,4 @@
|
|||||||
.. _package_tutorial:
|
.. _packaging-tutorial:
|
||||||
|
|
||||||
=========================
|
=========================
|
||||||
Package Creation Tutorial
|
Package Creation Tutorial
|
||||||
@ -37,7 +37,7 @@ A few things before we get started:
|
|||||||
editor you like.
|
editor you like.
|
||||||
- We'll be writting Python code as part of this tutorial. You can find
|
- We'll be writting Python code as part of this tutorial. You can find
|
||||||
successive versions of the Python code in
|
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
|
Creating the Package File
|
||||||
@ -61,7 +61,7 @@ we run ``spack create`` on it:
|
|||||||
|
|
||||||
And Spack should spawn a text editor with this file:
|
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
|
:start-after: # flake8: noqa
|
||||||
:language: python
|
: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
|
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,
|
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
|
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``:
|
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
|
:start-after: # flake8: noqa
|
||||||
:language: python
|
:language: python
|
||||||
|
|
||||||
@ -174,9 +174,9 @@ Dependencies
|
|||||||
The mpileaks packages depends on three other package: ``MPI``,
|
The mpileaks packages depends on three other package: ``MPI``,
|
||||||
``adept-utils``, and ``callpath``. Let's add those via the
|
``adept-utils``, and ``callpath``. Let's add those via the
|
||||||
``depends_on`` command in our ``package.py`` (this version is in
|
``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
|
:start-after: # flake8: noqa
|
||||||
:language: python
|
:language: python
|
||||||
|
|
||||||
@ -329,9 +329,9 @@ Specifying Configure Arguments
|
|||||||
|
|
||||||
Let's add the configure arguments to the mpileaks' ``package.py``. This
|
Let's add the configure arguments to the mpileaks' ``package.py``. This
|
||||||
version can be found in
|
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
|
:start-after: # flake8: noqa
|
||||||
:language: python
|
: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.
|
build in Spack.
|
||||||
|
|
||||||
To do this, we'll add a variant to our package, as per the following (see
|
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
|
:start-after: # flake8: noqa
|
||||||
:language: python
|
:language: python
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
.. _basics_tutorial:
|
.. _basics-tutorial:
|
||||||
|
|
||||||
=========================================
|
=========================================
|
||||||
Basic Installation Tutorial
|
Basic Installation Tutorial
|
Loading…
Reference in New Issue
Block a user