wiki:cypress/ModuleCommand

Version 9 (modified by fuji, 5 years ago) ( diff )

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.

[tulaneID@cypress1 ~]$ module avail

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

----------------------------------------------------------------------------------- /cm/shared/modulefiles -----------------------------------------------------------------------------------
acml/gcc/64/5.3.1                     blas/gcc/64/1                         hadoop/oak/Apache/2.5.0               mvapich/open64/64/1.2rc1
acml/gcc/fma4/5.3.1                   blas/open64/64/1                      hdf5/1.6.10                           mvapich2/gcc/64/2.0b
acml/gcc/mp/64/5.3.1                  bonnie++/1.97.1                       hdf5_18/1.8.12                        mvapich2/open64/64/2.0b
acml/gcc/mp/fma4/5.3.1                cmgui/7.0                             hpl/2.1                               netcdf/gcc/64/4.3.1.1
acml/gcc-int64/64/5.3.1               cuda60/blas/6.0.37                    hwloc/1.8.1                           netcdf/open64/64/4.3.1.1
acml/gcc-int64/fma4/5.3.1             cuda60/fft/6.0.37                     intel/compiler/64/14.0/2013_sp1.3.174 netperf/2.6.0
acml/gcc-int64/mp/64/5.3.1            cuda60/nsight/6.0.37                  intel-cluster-checker/2.1.2           open64/4.5.2.1
acml/gcc-int64/mp/fma4/5.3.1          cuda60/profiler/6.0.37                intel-cluster-runtime/ia32/3.6        openblas/dynamic/0.2.8
acml/open64/64/5.3.1                  cuda60/toolkit/6.0.37                 intel-cluster-runtime/intel64/3.6     openmpi/gcc/64/1.8.1
acml/open64/fma4/5.3.1                default-environment                   intel-cluster-runtime/mic/3.6         openmpi/open64/64/1.8.1
acml/open64/mp/64/5.3.1               fftw2/openmpi/gcc/64/double/2.1.5     intel-tbb-oss/ia32/42_20140601oss     pbspro/12.2.1.140292
acml/open64/mp/fma4/5.3.1             fftw2/openmpi/gcc/64/float/2.1.5      intel-tbb-oss/intel64/42_20140601oss  pig/oak/Apache/0.15.0
acml/open64-int64/64/5.3.1            fftw2/openmpi/open64/64/double/2.1.5  iozone/3_420                          scalapack/gcc/64/1.8.0
acml/open64-int64/fma4/5.3.1          fftw2/openmpi/open64/64/float/2.1.5   lapack/gcc/64/3.5.0                   scalapack/open64/64/1.8.0
acml/open64-int64/mp/64/5.3.1         fftw3/openmpi/gcc/64/3.3.3            lapack/open64/64/3.5.0                sge/2011.11p1
acml/open64-int64/mp/fma4/5.3.1       fftw3/openmpi/open64/64/3.3.3         mpich/ge/gcc/64/3.1                   slurm/14.03.0
blacs/mpichge/gcc/64/1.1patch03       gcc/4.8.2                             mpich/ge/open64/64/3.1                torque/4.2.6.1
blacs/openmpi/gcc/64/1.1patch03       globalarrays/openmpi/gcc/64/5.3       mpiexec/0.84_432                      tulane/intel-psxe/2015
blacs/openmpi/open64/64/1.1patch03    globalarrays/openmpi/open64/64/5.3    mvapich/gcc/64/1.2rc1

---------------------------------------------------------------------------------- /share/apps/modulefiles -----------------------------------------------------------------------------------
anaconda/2.1.0                   fftw/2.1.5/single                intel-psxe/2016                  openfoam/2.3.1                   rstudio/0.98.1103
anaconda/2.5.0                   fftw/3.3.4                       jags/4.2.0                       openmpi/1.8.4                    ruby/2.2.3
anaconda3/4.0.0                  fseq/1.85                        lammps/stable-17Nov2016          parmetis/4.0.3                   samtools/0.1.19
atlas/3.10.2                     gcc/4.7.4                        macaulay2/1.6-1                  pcre/8.39                        samtools/1.1
bbcp/amd64_rhel60                gcta/1.24.7                      matlab/r2013b                    petsc/3.4.5                      smrt/2.3.0
bcl2fastq2/2.17.1                gdc-client/1.0.1                 matlab/r2015a                    petsc/3.5.3                      stacks/1.41
berkeleygw/1.1-beta2             genetorrent/3.8.7                matlab/r2015b                    petsc/3.5.4                      star/2.4.0i
boost/1.57.0                     git/2.4.1                        matlab/r2016a                    plink/1.07                       star/2.4.2a
bowtie/1.1.1                     gnuplot/5.0.1                    mercurial/3.7.3                  pyrad/3.0.66                     star/2.5.2a
bowtie2/2.2.4                    gromacs/5.1.1                    metis/5.1.0                      python/2.7.11                    structure/2.3.4
bwa/0.7.15                       gromacs/5.1.2                    micsmc-gui                       qiime/1.9.1                      sundials/2.5.0
bzip2/1.0.6                      hdf5/1.8.14                      migraten/3.6.11                  qt/4.8.6                         tinker/7.1.2
cellranger/1.1.0                 hdf5-parallel/1.8.14             mosaik/2.2.3                     R/3.1.2(default)                 tophat/2.0.13
cmake/3.0.2                      hypre/2.10.1                     mpich/3.1.4                      R/3.2.4                          vcftools/0.1.14
cpat/1.2.2                       ibamr/0.1-rc1                    ncbi-blast/2.5.0+                R/3.2.5-intel                    viennacl/1.7.0
diamond/0.6.12                   idev                             netcdf/4.3.2                     R/3.3.1-intel                    visit/2.9.2
eigen/3.2.4                      igrepertoireconstructor/2.2.0    netcdf-cxx4/4.2.1                R/3.4.1-intel                    vtk/6.1.0
emacs/24.4                       intel-opencl/1.2-4.5.0.8         netcdf-fortran/4.4.1             rsem/1.2.19                      xz/5.2.2
espresso/5.1.2                   intel-opencl-devel/1.2-4.6.0.178 netmhciipan/3.1                  rsem/1.2.22                      zlib/1.2.8
fftw/2.1.5/double(default)       intel-psxe/2015-update1(default) netmhcpan/3.0                    rsem/1.2.31

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

Details

Using $HOME/.modulerc

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

#%Module
module load intel-psxe/2016

A .modulerc begins with the magic cookie, '#%Module'.

Define your own module

Compiling software in a user directory then defining personal environment modules is useful when software one needs are not installed on Cypress, or the installed ones are not of the desired version.

For example, SuperLU is not available on the main module.

Download the source codes, and compile and install it, for example, on /lustre/project/dpg/local/SuperLU_5.2.1

Create a module-definition file, for example, as /lustre/project/dpg/local/modulefiles/SuperLU/5.2.1 where the directory name SuperLU is the software name without version number, and the file name, 5.2.1 is the version number. The file looks like this:

#%Module1.0 -*- tcl -*-
##
## modulefile
##

module-whatis "a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations."

set curMod [module-info name]
if { [ module-info mode load ] } {
    system "/bin/logger -p local0.info 'module_load: $curMod.'"
}

conflict SuperLU/4.3

module load intel-psxe/2016
set    INSTALL_ROOT    /lustre/project/dpg/local/SuperLU_5.2.1

prepend-path    PATH               $INSTALL_ROOT/bin
prepend-path	LD_LIBRARY_PATH    $INSTALL_ROOT/lib
prepend-path	LIBRARY_PATH       $INSTALL_ROOT/lib
setenv		SLU_DIR            $INSTALL_ROOT

Edit your .modulerc that looks like this:

#%Module
module use /lustre/project/dpg/local/modulefiles

Now your new module will be listed and you can load it with the usual commands.

[tulaneID@cypress1 ~]$ module avail

------------------------------------------------ /lustre/project/dpg/local/modulefiles ------------------------------------------------
SuperLU/5.2.1
-------------------------------------------------------- /cm/local/modulefiles --------------------------------------------------------
cluster-tools/7.0                 ipmitool/1.8.13                   openldap
:
:

Next Section

Submissions

Note: See TracWiki for help on using the wiki.