Using a custom Spack configuration scope¶
Spack is for advanced users
Spack is incredibly powerful but also very complex. Most users should check to see if any applications/libraries etc. required are already installed centrally by checking our main documentation. Using Spack to compile your own applications is for advanced cluster users.
Follow this documentation in order
Whilst it may be tempting to try to jump ahead and skip sections of the documentation that follows, it is much better to follow it through entirely to get a foundational understanding of Spack as a whole, even if the examples shown don't directly apply to specific applications you require.
Alongside our cluster upgrade from CentOS 7 to Rocky 9, we have also moved to the Spack package manager for installing applications centrally on Apocrita so that all users have access to them via our Modules setup. Spack simplifies the manual compilation and installation of a large number of commonly used HPC applications.
Our usual policy when any user requires something that doesn't currently have an existing module is that an official request can be made to the ITSR Apps Team. However, it's not always possible for us to offer everything a user might require and we try to balance what we offer - if demand for something is low, perhaps for a single user, then we might not offer to install it centrally.
Traditionally in such cases, the user might have been required to manually
compile things using make
/make install
or cmake
etc. The advantage of
Spack is that it is possible for users to use our centrally installed
applications and libraries as an "upstream" for their own personal Spack
installations - perhaps something compiled in a very specific way, or an older
version of something.