Using modules on cyclone: Difference between revisions

From gfi
Ngfih (talk | contribs)
No edit summary
Ngfih (talk | contribs)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
== Using modules on cyclone==
== Using modules on cyclones==


This page documents how to use Modulefiles on the Abel (HPC for UiO) and Colossus (HPC for TSD) clusters. Same procedure applies on cyclone.
With cyclones follows a collection of EESSI modules - ('''The European Environment for Scientific Software Installation)'''.  Access to ESSI is automatic enabled at ssh login, the EESSI modules follow the same std. and documentation as given in Sigma2 documentation:
 
https://documentation.sigma2.no/software/eessi.html
 
Same procedure applies on cyclone. For some specific documentation on available modules refer to [[Using cyclone]].


To simplify setting up environments for compilers, MPI-versions and some installed applications, the clusters have the [http://modules.sourceforge.net Environment Modules package] installed. This provides means for dynamic modification of a user's environment via modulefiles.
To simplify setting up environments for compilers, MPI-versions and some installed applications, the clusters have the [http://modules.sourceforge.net Environment Modules package] installed. This provides means for dynamic modification of a user's environment via modulefiles.
Line 15: Line 19:
</code>
</code>


(On Colossus, the module commands can only be used in job scripts.)  You can also ask for a specific version of a modulefile:
You can also ask for a specific version of a modulefile:


<code>
<code>
Line 31: Line 35:
The available modulefiles can be listed by module avail. Example output:
The available modulefiles can be listed by module avail. Example output:


  <nowiki>
   
$ module avail  
$ module avail  
------------------------ /usr/share/Modules/modulefiles -------------------------
------------------------------------- /vol/vb_apps/modules/all ---------------
dot        module-cvs  module-info modules     null        use.own
     Anaconda3/2021.11                            libpng/1.6.37-GCCcore-11.3.0
 
    Anaconda3/2022.10                            libpng/1.6.43-GCCcore-13.3.0
--------------------------- /cluster/etc/modulefiles ----------------------------
    Anaconda3/2023.09-0                          libtirpc/1.3.5-GCCcore-13.3.0                (D)
454apps/2.8(default)            mcmcphase/2.0(default)
    Anaconda3/2024.06-1                          libxml2/2.12.7-GCCcore-13.3.0                (D)
R/2.15.1(default)                microbiomeutil/20110519(default)
    Anaconda3/2025.06-1                (D)      Local-netCDF-Fortran-local/4.6.1-gompi-2023b
R/2.15.1.shlib                  migrate/3.3.2(default)
    ANTLR/2.7.7-GCCcore-10.3.0-Java-11          lz4/1.9.4-GCCcore-13.3.0                    (D)
abyss/1.3.4(default)             mothur/1.26.0(default)
    ANTLR/2.7.7-GCCcore-12.3.0-Java-11          M4/1.4.19
adf/2010.02b(default)            mrbayes/3.2.1(default)
    ANTLR/2.7.7-GCCcore-13.3.0        (D)      make/4.4.1-GCCcore-12.2.0
adf/2012.01b                    muscle/3.8.31(default)
    Bison/3.7.6-GCCcore-10.3.0                  makedepend/1.0.9-GCCcore-13.2.0             (D)
ampliconnoise/1.25(default)      ncl/2.1.18(default)
    Bison/3.8.2-GCCcore-13.3.0                  Mamba/4.14.0-0
beagle/1.0(default)              newbler/2.8(default)
    boto3/1.26.163-GCCcore-12.2.0                Mamba/23.1.0-4
[...]
    boto3/1.28.70-GCCcore-12.3.0      (D)       Mamba/23.11.0-0                              (D)
</nowiki>
    CMake/3.24.3-GCCcore-12.2.0                  MATLAB/2021b
    CMake/3.29.3-GCCcore-13.3.0                  MATLAB/2023a
    CMake/3.31.8                       (D)       Meson/1.4.0-GCCcore-13.3.0                  (D)
    cURL/7.78.0-GCCcore-11.2.0                   Miniconda3/4.12.0
[...]


You can also specify a name:
You can also specify a name:


  <nowiki>
   
$ module avail blast
$ module avail Anaconda
--------------------------- /cluster/etc/modulefiles ----------------------------
------------------------------------- /vol/vb_apps/modules/all -------------------------
blast/2.2.26(default)  blast+/2.2.26(default)
    Anaconda3/2021.11    Anaconda3/2023.09-0    Anaconda3/2025.06-1 (D)
</nowiki>
    Anaconda3/2022.10    Anaconda3/2024.06-1


You will get a list of current loaded modulefiles by
You will get a list of current loaded modulefiles by


  <nowiki>
   
$ module list
$module list
Currently Loaded Modulefiles:
  Currently Loaded Modules:
1) intel/2011.10   2) R/2.15.1
  1) EESSI/2023.06   2) Anaconda3/2024.06-1
</nowiki>


A help text exists for most of the modulefiles; to view it, type
help text exists for most of the modulefiles; to view it, type


<code>
<code>
Line 80: Line 88:
'''Personalize default modulefiles'''
'''Personalize default modulefiles'''


You may add loading of modulefiles to your .bash_profile file to make sure your favorite modulefile is always loaded when logging in. For instance, to always have the intel modulefile load on login, add:
You may add loading of modulefiles to your .bash_profile file to make sure your favorite modulefile is always loaded when logging in. For instance, to always have Anaconda load on login, add:


<code>
<code>
module load intel
module load Anaconda3/2024.06-1
</code>
</code>


to the .bash_profile file.
to the .bash_profile file.

Latest revision as of 13:29, 16 March 2026

Using modules on cyclones

With cyclones follows a collection of EESSI modules - (The European Environment for Scientific Software Installation). Access to ESSI is automatic enabled at ssh login, the EESSI modules follow the same std. and documentation as given in Sigma2 documentation:

https://documentation.sigma2.no/software/eessi.html

Same procedure applies on cyclone. For some specific documentation on available modules refer to Using cyclone.

To simplify setting up environments for compilers, MPI-versions and some installed applications, the clusters have the Environment Modules package installed. This provides means for dynamic modification of a user's environment via modulefiles.

Each modulefile contains the information needed to configure the shell for an environment. Typically, a modulefile modifies environment variables like PATH, MANPATH, LD_LIBRARY_PATH, CPATH and PKG_CONFIG_PATH to give access to an application or library.

Modulefiles can be used from most shells, as well as Perl and Python. Modulefiles can be loaded/unloaded on the command line or within your scripts by typing:

module load modulefile

module unload modulefile

You can also ask for a specific version of a modulefile:

module load modulefile/version

For the purpose of reproducability, we encourage users to load specific versions of modulefiles. Also, we recommend using

module purge

prior to any module load commands in job scripts, to prevent inheriting environment variables set by module commands in the shell used when submitting the job.

The available modulefiles can be listed by module avail. Example output:


$ module avail 
------------------------------------- /vol/vb_apps/modules/all ---------------
   Anaconda3/2021.11                            libpng/1.6.37-GCCcore-11.3.0
   Anaconda3/2022.10                            libpng/1.6.43-GCCcore-13.3.0
   Anaconda3/2023.09-0                          libtirpc/1.3.5-GCCcore-13.3.0                (D)
   Anaconda3/2024.06-1                          libxml2/2.12.7-GCCcore-13.3.0                (D)
   Anaconda3/2025.06-1                (D)       Local-netCDF-Fortran-local/4.6.1-gompi-2023b
   ANTLR/2.7.7-GCCcore-10.3.0-Java-11           lz4/1.9.4-GCCcore-13.3.0                     (D)
   ANTLR/2.7.7-GCCcore-12.3.0-Java-11           M4/1.4.19
   ANTLR/2.7.7-GCCcore-13.3.0         (D)       make/4.4.1-GCCcore-12.2.0
   Bison/3.7.6-GCCcore-10.3.0                   makedepend/1.0.9-GCCcore-13.2.0              (D)
   Bison/3.8.2-GCCcore-13.3.0                   Mamba/4.14.0-0
   boto3/1.26.163-GCCcore-12.2.0                Mamba/23.1.0-4
   boto3/1.28.70-GCCcore-12.3.0       (D)       Mamba/23.11.0-0                              (D)
   CMake/3.24.3-GCCcore-12.2.0                  MATLAB/2021b
   CMake/3.29.3-GCCcore-13.3.0                  MATLAB/2023a
   CMake/3.31.8                       (D)       Meson/1.4.0-GCCcore-13.3.0                   (D)
   cURL/7.78.0-GCCcore-11.2.0                   Miniconda3/4.12.0

[...]

You can also specify a name:


$ module avail Anaconda
------------------------------------- /vol/vb_apps/modules/all -------------------------
   Anaconda3/2021.11    Anaconda3/2023.09-0    Anaconda3/2025.06-1 (D)
   Anaconda3/2022.10    Anaconda3/2024.06-1

You will get a list of current loaded modulefiles by


$module list
 Currently Loaded Modules:
  1) EESSI/2023.06   2) Anaconda3/2024.06-1

help text exists for most of the modulefiles; to view it, type

module help modulefile

To view exactly what a modulefile is doing to your environment, type

module show modulefile

For further documentation, please refer to the Environment Modules homepage

Personalize default modulefiles

You may add loading of modulefiles to your .bash_profile file to make sure your favorite modulefile is always loaded when logging in. For instance, to always have Anaconda load on login, add:

module load Anaconda3/2024.06-1

to the .bash_profile file.