Version 11 (modified by 21 months 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 ------------------------------------------------------------------------- /share/apps/centos7/modulefiles -------------------------------------------------------------------------- afni/23.0.06 cellranger/7.1.0 matlab/r2022b singularity/3.9.0 sratoolkit/3.0.0
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
Modules /share/apps/centos7/modulefiles
You must request Centos7 nodes to use Modules under /share/apps/centos7/modulefiles. Those modules need newer system libraries that are no longer available on old Centos6 nodes. See here for 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
'.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 : :