Putting it all together¶
You should now have your five configuration YAML files in one directory:
This is now your personal "custom configuration scope".
To use it we suggest you request an
interactive qlogin
session
with fairly decent resources:
qlogin -pe smp 8 -l h_rt=24:0:0 -l h_vmem=2G
Once on a compute node, load a Spack module. I will use 0.22.0
as the above configuration files were written for it:
module load spack/0.22.0
Use the Spack modules
Please try to avoid cloning your own version of Spack from GitHub as per the official Spack documentation. Using a module instead means you will use a version we have tested extensively on Apocrita, which may not be the case when cloning via GitHub. Sometimes configuration options change between versions and adjustments would need to be made.
To use your custom configuration scope, you need to pass the path to it via the
-C
flag to all Spack commands. For example, assuming you have cloned the
spack-config-templates
into your home directory:
spack -C ${HOME}/spack-config-templates/0.22.0 find -x -p
That tells Spack to reference your custom configuration scope and merge it with
the defaults as appropriate, and then show all
explicitly installed
packages (-x
) along with their location (-p
):
$ spack -C ${HOME}/spack-config-templates/0.22.0 find -x -p
-- linux-rocky9-x86_64_v4 / gcc@11.4.1 --------------------------
gcc@12.2.0 /share/apps/rocky9/spack/apps/linux-rocky9-x86_64_v4/gcc-11.4.1/gcc/12.2.0-6frskzg
-- linux-rocky9-x86_64_v4 / gcc@12.2.0 --------------------------
ant@1.10.14 /share/apps/rocky9/spack/apps/linux-rocky9-x86_64_v4/gcc-12.2.0/ant/1.10.14-gvqgwtj
(etc.)
You'll notice that all listed packages are stored in
/share/apps/rocky9/spack/apps/linux-rocky9-x86_64_v4
- this is because they
come from the upstreams.yaml
file.