wiki:cypress/ModuleCommand

Version 1 (modified by cmaggio, 7 years ago) (diff)

migrated content from ccs wiki. NOTE: CONTENT STILL NEEDS UPDATING TO REFLECT CONFIGURATION OF CYPRESS

Program:module

module is a utility used to manage multiple compilers on a single system, as well as set environment variables for other programs and utilities.

Available Modules

The following command will list all available modules. Modules with names containing pgi, gnu, intel were built with those compilers respectively.

[tulaneID@cypress1 ~]$ module avail

-------------------------------------------------------- /cm/local/modulefiles --------------------------------------------------------
cluster-tools/7.0                 ipmitool/1.8.13                   openldap
cmd                               module-git                        openmpi/gcc/64/1.8.2-mlnx-ofed2
dot                               module-info                       shared
freeipmi/1.3.4                    mvapich2/gcc/64/2.0rc1-mlnx-ofed2 use.own
intel/mic/sdk/3.3                 null                              version

------------------------------------------------------- /cm/shared/modulefiles --------------------------------------------------------
default-environment           fftw3/openmpi/open64/64/3.3.3 slurm/14.03.0
fftw3/openmpi/gcc/64/3.3.3    gcc/4.8.2                     tulane/intel-psxe/2015

------------------------------------------------------- /share/apps/modulefiles -------------------------------------------------------
anaconda/2.1.0          gaussian09/d.01         metis/5.1.0             novoalign/3.02.11-mpich samtools/1.1
boost/1.57.0            gcc/4.7.4               mosaik/2.2.3            openmpi/1.8.4           star/2.4.0i
bowtie/1.1.1            hdf5/1.8.14             mpich/3.1.4             parmetis/4.0.3          sundials/2.5.0
bowtie2/2.2.4           hdf5-parallel/1.8.14    ncbi-blast/2.2.30+      petsc/3.4.5             tinker/7.1.2
cmake/3.0.2             idev                    netcdf/4.3.2            petsc/3.5.2             tophat/2.0.13
diamond/0.6.12          intel-psxe/2015-update1 netcdf-cxx4/4.2.1       petsc/3.5.3             vtk/6.1.0
eigen/3.2.4             matlab/r2013b           netcdf-fortran/4.4.1    R/3.1.2
emacs/24.4              matlab/r2015a           novoalign/3.02.11       rsem/1.2.19

Loading & Unloading Modules

This will load the Intel Parallel Studio XE which contains the Intel compiler suite:

[tulaneID@cypress1 ~]$ module load intel-psxe

To unload the same package:

[tulaneID@cypress1 ~]$ module unload intel-psxe

Listing Loaded Modules

[tulaneID@cypress1 ~]$ module load intel-psxe
[tulaneID@cypress1 ~]$ module list
Currently Loaded Modulefiles:
  1) slurm/14.03.0             2) idev                      3) intel-psxe/2015-update1

using $HOME/.modulerc

This file can be used to load or to define your own environment during each login. An example looks like this:

#%Module1.0
module load matlab/R2013a

A .modulerc begins with the magic cookie, '#%Module'. A version number may be placed after this string. The current version is 1.0.

If you want to set .modulerc to work for both "sphynx" and "ares", it is better to set like:

#%Module1.0
if { $HOSTNAME == "sphynx.ccs.tulane.edu" } {
 module load intel/12.1
 module load openmpi-intel-ib/1.6
 module load matlab/R2013a 
}
if { $HOSTNAME == "login-02-01" } {
 module load intel/12.0
 module load openmpi-intel-ib/1.5
}

using $HOME/.bashrc

This file can be used to load or to define your own environment during each login if you write the commands on .bashrc. An example looks like this:

# LOAD MODULE #
# sets for sphynx 
if [ "$HOSTNAME" == "sphynx.ccs.tulane.edu" ] ; then
 module load intel/12.1
 module load openmpi-intel-ib/1.6
 module load matlab/R2013a 
fi
# sets for ares
if [ "$HOSTNAME" == "login-02-01" ]; then
  module load intel/9.1
  module load openmpi-intel-ib/1.5
  export MKLROOT="/usr/local/opt/intel/composerxe/mkl"
fi