Unit 1: Environment Modules System
This page: https://www.uni-ulm.de/?bwhpc-ex1
Here are the presentations/Info preceding this exercise:
Documentation on module system:
https://www.bwhpc-c5.de/wiki/index.php/Software_Modules
Overview on installed programms on the web:
https://cis-hpc.uni-konstanz.de/prod.cis/
Documentation on specific software modules e.g.:
https://www.bwhpc-c5.de/wiki/index.php/Mathematica
Login to bwunicluster or Justus with your username:
ssh -X »username«@bwunicluster.kit.edu or
ssh -X »username«@justus.uni-ulm.de
Commands overview:
- module whatis [<software-module>]
- module help <software-module>
- module load <software-module>
- module list
- module unload <software-module> // module purge
- module show <software-module>
Note: if you do "module load system/easymodule", you can use the command "mod" instead of "module" with the same syntax. "mod" allows you to search for substrings in module names and displays results in a pager in which you can search with "/".
Find out using the modules system:
1) Which versions of the intel compiler are available?
2) Which compiler software is available?
3) get the short description of the program chem/vmd
4) get the help for the module of the program chem/vmd
module avail compiler
module whatis chem/vmd
module help chem/vmd
Loading a module:
Run the following
matlab -nosplash -nodisplay -nodesktop
module list
module load math/matlab
module list
matlab -nosplash -nodisplay -nodesktop
quit
module unload math/matlab
module list
Program with man-pages
man icc
icc --version
echo $PATH
oldpath=$PATH
echo $MANPATH
module load compiler/intel
man icc
icc --version
echo $PATH
echo $MANPATH
echo $PATH | sed sX"$oldpath"XX # only shows the difference
Now compare to what the module does with the path (more below):
module show compiler/intel 2>&1 | grep ' PATH'
module unload compiler/intel
echo $PATH
echo $MANPATH
Compare with
module load chem/lammps
module list
module load compiler/intel/14.0
module list
module purge
module list
What is the problem loading compiler/intel/14.0?
Same problem:
module load compiler/intel/14.0
module list
module load chem/lammps
module list
module purge
Interaction with system tools
gcc --version
module load compiler/gnu
module list
gcc --version
module remove compiler/gnu
module list
gcc --version
Seeing what a module does:
module show chem/vmd
The PATH variable contains the places that are searched when you type a command on the shell. The module adds to (pre-pends) PATH.
Pre-pending means the programs in the module will be found before other programs of the same name on the system
Complexity of the changes made by a module varies.
module show compiler/intel
Directory with HPC examples
module load math/matlab
cd $MATLAB_EXA_DIR
ls -la
head -5 README
cd
module purge
The module system/easymodule. Compare new "mod" command with regular behavior
module load system/easymodule
module avail # compare
mod avail #compare
module avail | grep matl
mod avail | grep matl
mod avail matlab
Get the file bashcourse.tgz with wget https://kaos.rz.uni-ulm.de/bashcourse.tgz
and unpack it. The login node justus-login04 has the RedHat system numpy installed for this workshop. Connect to the node and run numpy_test.py
.
Now load the numpy module compiled with intel compiler and mkl and compare the execution times
Why might your result be inaccurate?
