[[PageOutline]] = 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 }}} [http://modules.sourceforge.net/ 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, [http://crd-legacy.lbl.gov/~xiaoye/SuperLU/ 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 [http://modules.sourceforge.net/man/modulefile.html 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 === [[https://wiki.hpc.tulane.edu/trac/wiki/Workshops/cypress/SlurmPractice | Submissions]]