Software stack on Ubuntu

From ScientificComputing
Revision as of 07:00, 10 July 2024 by Sfux (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.