Configuration overview¶
Check the requirements for your specific Spack version
Spack can change what is required in its configuration files with each new release quite a lot, so please check that your configuration files are correctly formatted for the specific version you are using.
Read the official Spack documentation
Spack organises its configuration via Yet Another Markup Language (YAML) files.
The ITSR Apps team has its own internal set of configuration files, but it is also possible to create your own for personal Spack installations. You can find template examples as a starting point in the spack-config-templates GitHub repository.
For the purposes of this tutorial, it is assumed that this repository has been cloned to:
${HOME}/spack-config-templates
Please note, access to the repository is for QMUL internal users only (i.e.
those with an account attached to a qmul.ac.uk
email address). External users
will need to raise a ticket
with the ITSR support team and we can copy template config files to your
personal Apocrita storage for you.
The most important thing to remember is that any defined locations for application installs and private modules will need to be configured to point somewhere you have full read-write access to. This could be:
- your home directory, although beware of space, as all users only have 100GB
- your scratch directory, although be aware of the auto-deletion policy
- your Research Group storage space if you have access to one. You might consider installing personal applications and private modules to directories that all group members have access to so that you can share personal installs with research group colleagues
For the purposes of this tutorial, the configuration files will install everything to your scratch directory, but once you gain more confidence you may wish to alter this to somewhere more permanent.
You can create personal versions of any Spack configuration files, but for now, let's focus on the five essential ones you will need initially:
All five need to be in the same directory, and this directory will become what is referred to as a "custom configuration scope".