Software stack on Ubuntu
Contents
Introduction
We are providing a new software stack for Ubuntu, which is set up differently from the previous one. In the new setup, software stacks are versioned and this adds another layer. The biggest change is that you need to load a module first to load a particular stack and then you can load compiler and other modules.
The software stack is still worked on daily and software is added every day.
This page has been updated on 12/06/2024. We will provide more clarifications as we go.
Available Software Stack
In order to improve the isolation between stacks and commercial software, the stacks will require a module load. You can see available versions and load the most recent one with either :
module avail stack module load stack
For instance:
nmarounina@eu-login-28:~$ module avail stack --------------------------- /cluster/software/lmods ----------------------------- stack/2024-03-beta stack/2024-04 stack/2024-05 (D) Where: D: Default Module
To load a stack :
nmarounina@eu-login-28:~$ module load stack Many modules are hidden in this stack. Use "module --show_hidden spider SOFTWARE" if you are not able to find the required software nmarounina@eu-login-28:~$ module list Currently Loaded Modules: 1) gcc/13.2.0 2) stack/2024-05
Without specifying a stack version, the default stack will be loaded (currently stack/2024-05)
Please note that many low-level modules (i.e., modules needed only by other modules) are now hidden by default, so module avail and module spider will only show you the higher-level modules. To see all modules, you can use the commands
module --show_hidden avail module --show_hidden spider SOFTWARE
We are also providing a way for users to install their own software stack on top of the centrally-provided one using spack.
Exploring Available Modules
Once a stack is loaded, please use module module avail and module spider to explore all available software. A page summarising all of the available software is currently under works. All of the usual module commands are working as before, please see a summary [[1]].
An example : which python modules are available ?
The latest way to explore the available software is to use the module spider command :
nmarounina@eu-login-28:~$ module spider python --------------------------------------------- python: --------------------------------------------- Versions: python/3.8.18-zv6eekz python/3.9.18_cuda python/3.9.18_rocm python/3.9.18 python/3.11.6_cuda-oe7bpyk python/3.11.6_cuda python/3.11.6_rocm-oe7bpyk python/3.11.6_rocm python/3.11.6-oe7bpyk python/3.11.6 --------------------------------------------- For detailed information about a specific "python" package (including how to load the modules) use the module's full name. Note that names that have a trailing (E) are extensions provided by other modules. For example: $ module spider python/3.11.6 ---------------------------------------------
A module spider command with a specific python version will give you the list of module that you would need to pre-load to get access to the desired python module :
nmarounina@eu-login-28:~$ module spider python/3.11.6_cuda --------------------------------------------- python: python/3.11.6_cuda ---------------------------------------------
You will need to load all module(s) on any one of the lines below before the "python/3.11.6_cuda" module is available to load. stack/.2024-05 gcc/13.2.0 stack/2024-05 gcc/13.2.0 Help: The Python programming language.
Please do not hesitate to make use of [virtual environments ] or the pip3 install --user <package> command to install missing packages. Please be aware that you will need to reinstall all previous virtual environments installed on CentOS for Ubuntu.