Difference between revisions of "Modules and applications"

From ScientificComputing
Jump to: navigation, search
Line 39: Line 39:
  
 
== Example ==  
 
== Example ==  
 +
In this example we load GCC compiler version 4.8.2 and Python 3.7.1 in the old software stack, switch to the new software stack where we load GCC 6.3.0 and Python 3.8.5, then switch back to the old software stack to load Python 3.7.1 again
 +
 
Loading Python in the old software stack:
 
Loading Python in the old software stack:
 
+
  $ module load new gcc/4.8.2 python/3.7.1
  $ module load new python/3.7.1
 
 
  Autoloading openblas/0.2.13_seq
 
  Autoloading openblas/0.2.13_seq
 
  $ module list
 
  $ module list
 
  Currently Loaded Modulefiles:
 
  Currently Loaded Modulefiles:
   1) modules                            3) openblas/0.2.13_seq(default:seq)
+
   1) modules                            3) gcc/4.8.2(default:4.8)            5) python/3.7.1
   2) new                                4) python/3.7.1
+
   2) new                                4) openblas/0.2.13_seq(default:seq)
  
 
Switching to the new software stack:
 
Switching to the new software stack:
 
 
  $ env2lmod
 
  $ env2lmod
 
  $ module list   
 
  $ module list   
Line 55: Line 55:
 
  Currently Loaded Modules:
 
  Currently Loaded Modules:
 
   1) StdEnv  2) gcc/4.8.5
 
   1) StdEnv  2) gcc/4.8.5
+
 
 
 
 
Load Python 3.8.5  
 
Load Python 3.8.5  
 
  $ module load gcc/6.3.0 python/3.8.5  
 
  $ module load gcc/6.3.0 python/3.8.5  
Line 62: Line 61:
 
  The following have been reloaded with a version change:
 
  The following have been reloaded with a version change:
 
   1) gcc/4.8.5 => gcc/6.3.0
 
   1) gcc/4.8.5 => gcc/6.3.0
 
  
 
Switching back to the old software stack:
 
Switching back to the old software stack:

Revision as of 14:07, 20 January 2021

What is a Modules package?

A Modules package is a tool to let users to easily configure their computing environment which includes

  • Development tools
  • Scientific libraries
  • Communication libraries (MPI)
  • Third-party applications

We employ two types of Modules packages:

  • LMOD Modules implemented on Euler and Leonhard Open
  • Environment Modules implemented on Euler


Two software stacks on Euler

While Leonhard Open contains only one software stack which uses LMOD Modules, Euler contains two software stacks:

  • The new software stack uses LMOD Modules
  • The old software stack uses Environment Modules

Upon your login on Euler, the old software stack is set by default. You can switch from the old software stack to the new software stack by typing the command:

$ env2lmod

and vice-versa

$ lmod2env

All new software is installed exclusively in the new software stack.

Example

In this example we load GCC compiler version 4.8.2 and Python 3.7.1 in the old software stack, switch to the new software stack where we load GCC 6.3.0 and Python 3.8.5, then switch back to the old software stack to load Python 3.7.1 again

Loading Python in the old software stack:

$ module load new gcc/4.8.2 python/3.7.1
Autoloading openblas/0.2.13_seq
$ module list
Currently Loaded Modulefiles:
  1) modules                            3) gcc/4.8.2(default:4.8)             5) python/3.7.1
  2) new                                4) openblas/0.2.13_seq(default:seq)

Switching to the new software stack:

$ env2lmod
$ module list  

Currently Loaded Modules:
  1) StdEnv   2) gcc/4.8.5

Load Python 3.8.5

$ module load gcc/6.3.0 python/3.8.5 

The following have been reloaded with a version change:
  1) gcc/4.8.5 => gcc/6.3.0

Switching back to the old software stack:

$ lmod2env
$ module list
Currently Loaded Modulefiles:
  1) modules

Load Python 3.7.1 again

$ module load new gcc/4.8.2 python/3.7.1
Autoloading openblas/0.2.13_seq
$ module list
Currently Loaded Modulefiles:
  1) modules                            3) gcc/4.8.2(default:4.8)             5) python/3.7.1
  2) new                                4) openblas/0.2.13_seq(default:seq)