Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Spack
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
eic_tools
Spack
Commits
7d3da2eb
Commit
7d3da2eb
authored
8 years ago
by
Adam J. Stewart
Committed by
Todd Gamblin
8 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Grammar and broken link fixes in modules tutorial (#2912)
parent
416e52c1
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
lib/spack/docs/tutorial_sc16_modules.rst
+16
-19
16 additions, 19 deletions
lib/spack/docs/tutorial_sc16_modules.rst
with
16 additions
and
19 deletions
lib/spack/docs/tutorial_sc16_modules.rst
+
16
−
19
View file @
7d3da2eb
...
@@ -45,7 +45,7 @@ Add a new compiler
...
@@ -45,7 +45,7 @@ Add a new compiler
^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^
Spack automatically scans the environment to search for available
Spack automatically scans the environment to search for available
compilers on first use. On
a
Ubuntu 14.04 a fresh clone will show
compilers on first use. On Ubuntu 14.04
,
a fresh clone will show
something like this:
something like this:
.. code-block:: console
.. code-block:: console
...
@@ -58,9 +58,10 @@ something like this:
...
@@ -58,9 +58,10 @@ something like this:
-- gcc ----------------------------------------------------------
-- gcc ----------------------------------------------------------
gcc@4.8
gcc@4.8
For the purpose of building a limited set of packages with some features
In order to showcase the capabilities of module customization, we will want to
that will help showcasing the capabilities of
build a limited set of packages with multiple compilers. If you do not already
module customization the first thing we need is to build a new compiler:
have multiple compilers listed by ``spack compilers``, you should build one
with Spack:
.. code-block:: console
.. code-block:: console
...
@@ -85,7 +86,7 @@ Then we can use shell support for modules to add it to the list of known compile
...
@@ -85,7 +86,7 @@ Then we can use shell support for modules to add it to the list of known compile
-- gcc ----------------------------------------------------------
-- gcc ----------------------------------------------------------
gcc@6.2.0 gcc@4.8
gcc@6.2.0 gcc@4.8
Note that the
final 7
digit
s
hash at the end of the generated module may vary depending
Note that the
7-
digit hash at the end of the generated module may vary depending
on architecture or package version.
on architecture or package version.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
@@ -96,16 +97,11 @@ Next you should install a few modules that will be used in the tutorial:
...
@@ -96,16 +97,11 @@ Next you should install a few modules that will be used in the tutorial:
.. code-block:: console
.. code-block:: console
$ spack install netlib-scalapack ^openmpi ^openblas
$ spack install netlib-scalapack ^openmpi ^openblas
# ...
$ spack install netlib-scalapack ^mpich ^openblas
$ spack install netlib-scalapack ^openmpi ^netlib-lapack
The packages you need to install are:
$ spack install netlib-scalapack ^mpich ^netlib-lapack
$ spack install py-scipy ^openblas
- ``netlib-scalapack ^openmpi ^openblas``
- ``netlib-scalapack ^mpich ^openblas``
- ``netlib-scalapack ^openmpi ^netlib-lapack``
- ``netlib-scalapack ^mpich ^netlib-lapack``
- ``py-scipy ^openblas``
In the end your environment should look something like:
In the end your environment should look something like:
...
@@ -500,7 +496,7 @@ Regenerating the module files should result in something like:
...
@@ -500,7 +496,7 @@ Regenerating the module files should result in something like:
Fortran, and Java.
Fortran, and Java.
]])
]])
As you see the ``gcc`` module has the environment variable ``GCC_ROOT`` set.
As you
can
see
,
the ``gcc`` module has the environment variable ``GCC_ROOT`` set.
Sometimes it's also useful to apply environment modifications selectively and target
Sometimes it's also useful to apply environment modifications selectively and target
only certain packages. You can, for instance set the common variables ``CC``, ``CXX``,
only certain packages. You can, for instance set the common variables ``CC``, ``CXX``,
...
@@ -727,7 +723,7 @@ Core/Compiler/MPI
...
@@ -727,7 +723,7 @@ Core/Compiler/MPI
The most common hierarchy is the so called ``Core/Compiler/MPI``. To have an idea
The most common hierarchy is the so called ``Core/Compiler/MPI``. To have an idea
how a hierarchy is organized you may refer to the
how a hierarchy is organized you may refer to the
`Lmod guide <http
s
://
www.tacc.utexas.edu/research-development/tacc-projects/lmod/user-guide/module-
hierarchy>`_.
`Lmod guide <http://
lmod.readthedocs.io/en/latest/080_
hierarchy
.html
>`_.
Since ``lmod`` is not enabled by default, you need to add it to the list of
Since ``lmod`` is not enabled by default, you need to add it to the list of
enabled module file generators. The other things you need to do are:
enabled module file generators. The other things you need to do are:
...
@@ -782,9 +778,10 @@ After modifications the configuration file will be:
...
@@ -782,9 +778,10 @@ After modifications the configuration file will be:
purpose of overriding the default list of enabled generators so
purpose of overriding the default list of enabled generators so
that only ``lmod`` will be active (see :ref:`the reference
that only ``lmod`` will be active (see :ref:`the reference
manual <config-overrides>` for a more detailed explanation of
manual <config-overrides>` for a more detailed explanation of
config scopes).
config scopes). If a single colon is used, it will append instead
of override.
The directive ``core_compilers`` accepts a list of compilers
:
everything built
The directive ``core_compilers`` accepts a list of compilers
;
everything built
using these compilers will create a module in the ``Core`` part of the hierarchy. It is
using these compilers will create a module in the ``Core`` part of the hierarchy. It is
common practice to put the OS provided compilers in the list and only build common utilities
common practice to put the OS provided compilers in the list and only build common utilities
and other compilers in ``Core``.
and other compilers in ``Core``.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment