Difference between revisions of "General/Modules"

From HPC
Jump to: navigation , search
m
(module avail)
 
(5 intermediate revisions by the same user not shown)
Line 24: Line 24:
  
 
</pre>
 
</pre>
 +
  
 
If you want to use a specific application, you can find which versions are available by running '''module avail modulename''', e.g.:
 
If you want to use a specific application, you can find which versions are available by running '''module avail modulename''', e.g.:
Line 34: Line 35:
 
</pre>
 
</pre>
  
In this case the (default) indicates that '''gcc/4.9.3''' is the default GCC module.
+
In this case, the (default) indicates that '''gcc/4.9.3''' is the default GCC module.
  
 
==== module show ====
 
==== module show ====
Line 67: Line 68:
 
</pre>
 
</pre>
  
Without putting a version in, you will either load the highest alphanumeric version, or the default if one is set.
+
Without putting a version in, you will either load the highest alphanumeric version or the default if one is set.
  
 
Note: '''module load''' and '''module add''' are the same.
 
Note: '''module load''' and '''module add''' are the same.
Line 81: Line 82:
 
==== module delete ====
 
==== module delete ====
  
To remove a loaded module and all environment configurations that module has set, run '''module delete modulename'''. Running this command will not display anything and will just return you back to the Linux command prompt
+
To remove a loaded module and all environment configurations that the module has set, run '''module delete modulename'''. Running this command will not display anything and will just return you back to the Linux command prompt
  
 
Note: module delete, module unload, module del and module rm are the same
 
Note: module delete, module unload, module del and module rm are the same
Line 134: Line 135:
 
</pre>
 
</pre>
  
Other common options set in a modulefile include:
+
Other common options set in a module file include the following:
  
 
* Paths such as LIBRARY_PATH, CPATH, LD_RUN_PATH
 
* Paths such as LIBRARY_PATH, CPATH, LD_RUN_PATH
 
* Compiler flags such as CFLAGS, CPPFLAGS, FCFLAGS and LDFLAGS
 
* Compiler flags such as CFLAGS, CPPFLAGS, FCFLAGS and LDFLAGS
* Application specific paths or options such as MPI_HOME or MPI_RUN
+
* Application-specific paths or options such as MPI_HOME or MPI_RUN
 
* Manual page location via the MANPATH
 
* Manual page location via the MANPATH
 
* Other modules to load to meet dependencies
 
* Other modules to load to meet dependencies
Line 148: Line 149:
 
Most modulefiles take the form applicationname/version, for example '''gcc/5.2.0''' for the GNU Compiler Collection version 5.2.0. There are also other versions of GCC, for example '''gcc/5.2.0''', '''gcc/6.3.0'' and '''gcc/7.3.0'''. A similar example is '''matlab/2016a'''
 
Most modulefiles take the form applicationname/version, for example '''gcc/5.2.0''' for the GNU Compiler Collection version 5.2.0. There are also other versions of GCC, for example '''gcc/5.2.0''', '''gcc/6.3.0'' and '''gcc/7.3.0'''. A similar example is '''matlab/2016a'''
  
However, due to the specific combinations of some of the tools required to build certain applications which may be relevant to those using the application, a new naming convention is being introduced. These modulefiles will take the form application/version/ followed by information about the compiler module used to build the application (and possibly the version of MPI), for example:
+
However, due to the specific combinations of some of the tools required to build certain applications which may be relevant to those using the application, a new naming convention is being introduced. These modulefiles will take the form of application/version/ followed by information about the compiler module used to build the application (and possibly the version of MPI), for example:
  
 
* '''crop/1.33/gcc-6.3.0'''
 
* '''crop/1.33/gcc-6.3.0'''
Line 159: Line 160:
 
====Test modulefiles====
 
====Test modulefiles====
  
While applications are being installed and tested, they may be put in a test area and not directly available to users. This is to stop people using modules which may not be correctly configured or are subject to change while we are testing the installations. To see the modules that are in testing you need to run '''module add test-modules''' before running '''module avail'''
+
While applications are being installed and tested, they may be put in a test area and not directly available to users. This is to stop people from using modules that may not be correctly configured or are subject to change while testing the installations. To see the modules that are in testing you need to run '''module add test-modules''' before running '''module avail'''
  
 
=== Module Tips and Tricks ===
 
=== Module Tips and Tricks ===
Line 169: Line 170:
 
* You can create private modules in your own home directory
 
* You can create private modules in your own home directory
 
* The '''module add''' commands are recorded to track application usage
 
* The '''module add''' commands are recorded to track application usage
 
==module avail list==
 
 
===Apps===
 
* abyss/1.5.2/gcc-5.2.0 (''2019/01/24 17:04:55'')
 
* albacore/1.2.6 (''2017/08/14 17:00:00'')
 
* ansys/v170 (''2019/10/15 15:31:24'')
 
* ansys/v172 (''2019/10/15 15:31:24'')
 
* ansys/v182 (''2019/10/15 15:31:24'')
 
* ansys/v193 (''2019/10/15 15:31:24'')
 
* ansys/v194 (''2019/10/15 15:31:24'')
 
* ansys/v195 (''2019/10/15 15:31:24'')
 
* arnold/5.1.0.1 (''2018/08/02 10:00:32'')
 
* arnold/5.2.1.0 (''2018/12/12 11:50:58'')
 
* autodock/vina/1.1.2 (''2018/12/12 14:01:20'')
 
* avizo/9.2.0 (''2017/07/20 14:35:26'')
 
* avizo/9.4.0 (''2018/02/16 11:10:11'')
 
* bayesTraits/3.0/intel-2017 (''2017/08/16 16:45:39'')
 
* bayesTraits/3.0.0 (''2017/08/01 10:45:51'')
 
* bioconductor/3.5/r-3.4.1 (''2017/10/03 10:51:16'')
 
* bioconductor/3.6/r-3.4.4 (''2018/03/27 16:29:18'')
 
* bioconductor/3.8/r-3.5.1 (''2018/12/14 12:35:10'')
 
* blender/2.79 (''2018/04/09 13:21:22'')
 
* blender/2.80 (''2019/10/15 17:30:26'')
 
* blender/2.80a (''2019/10/15 14:21:05'')
 
* bowtie1/1.1.2 (''2017/07/20 14:35:26'')
 
* bowtie2/gcc/2.2.9 (''2017/07/20 14:35:26'')
 
* bridger/r2014-12-01 (''2017/07/20 14:35:26'')
 
* bridger/r2014-12-01.2 (''2017/07/20 14:35:26'')
 
* centrifuge/1.0.4 (''2019/01/24  9:19:10'')
 
* cp2k/3.0 (''2017/07/20 14:35:26'')
 
* cp2k/6.1.0/gcc-7.3.0/intelmpi-2018 (''2018/12/20 13:19:18'')
 
* cp2k/6.1.0/gcc-7.3.0/openmpi-3.0.0 (''2018/12/06  9:35:38'')
 
* crop/1.33/gcc-6.3.0 (''2017/07/20 14:35:26'')
 
* cufflinks/2.2.1 (''2017/07/20 14:35:26'')
 
* delft3d/intel/6686 (''2017/07/20 14:35:26'')
 
* fds/6.6.0 (''2017/11/24 10:47:39'')
 
* fdtd/8.19.1522 (''2018/03/13  9:25:06'')
 
* ffmpeg/3.0.2 (''2017/07/20 14:35:26'')
 
* ffmpeg/4.0.1 (''2018/07/03 15:40:42'')
 
* fiji/imagej (''2017/07/20 14:35:26'')
 
* freeipmi/1.4.11 (''2017/07/20 14:35:26'')
 
* gnuplot/5.0.3 (''2017/07/20 14:35:26'')
 
* gnuplot/5.0.5 (''2017/07/20 14:35:26'')
 
* grace/5.1.25 (''2018/10/18  8:53:07'')
 
* gsl/gcc/2.1 (''2017/07/20 14:35:26'')
 
* guppy/cpu/3.1.5 (''2019/06/04 13:19:35'')
 
* guppy/gpu/3.1.5 (''2019/06/04 13:19:35'')
 
* hpl/intel-2016/11.3.1 (''2017/07/20 14:35:26'')
 
* hyphy/2.2.7/gcc-6.3.0/openmpi-2.0.2 (''2017/08/01 14:10:01'')
 
* hypre/intel/2.10.0b (''2017/07/20 14:35:26'')
 
* idl/8.4 (''2017/07/20 14:35:26'')
 
* image-magic/7.0.7/mpich-3.2/gcc-5.2.0 (''2018/04/23 15:44:21'')
 
* jellyfish/gcc/2.2.10 (''2018/11/23  9:41:16'')
 
* mafft/7.397 (''2018/05/17 10:59:24'')
 
* mathematica/11.1 (''2018/04/25 10:07:59'')
 
* matlab/2016a (''2018/04/09  8:39:53'')
 
* matlab/2016b (''2018/04/09  8:39:53'')
 
* matlab/2017a (''2018/04/30 15:01:34'')
 
* matlab/2018a (''2018/06/27 11:02:07'')
 
* matlab/test (''2017/07/20 14:35:26'')
 
* minimap2/2.15 (''2019/01/24  9:19:10'')
 
* mono/4.4.1 (''2017/07/20 14:35:26'')
 
* mrbayes/gcc/3.2.6 (''2017/07/20 14:35:26'')
 
* ncbi-blast/2.4.0 (''2017/07/20 14:35:26'')
 
* ncbi-blast/2.6.0 (''2017/08/22 15:13:58'')
 
* nwchem-cuda/6.6 (''2017/07/20 14:35:26'')
 
* nwchem-x86/6.6 (''2017/07/20 14:35:26'')
 
* obitools/1.2.9 (''2017/08/04 10:04:06'')
 
* orca/3.0.0 (''2017/07/21  7:43:47'')
 
* orca/3.0.3 (''2017/07/21  7:43:47'')
 
* orca/4.0.0 (''2017/07/20 14:35:26'')
 
* orca/4.0.1 (''2017/08/01 16:05:01'')
 
* orca/4.1.0/openmpi212 (''2019/01/09 11:19:05'')
 
* orca/4.1.0/openmpi313 (''2019/01/09 11:19:05'')
 
* orca/4.1.1 (''2019/02/04  9:40:22'')
 
* orca/4.1.2 (''2019/04/03 15:39:59'')
 
* orca/4.2.0 (''2019/08/14 10:01:30'')
 
* orca/4.2.1 (''2019/10/30 15:29:05'')
 
* packmol/intel/18.169 (''2018/12/05  9:46:14'')
 
* paraview/gcc-mpi-qt-opengl/5.0.1 (''2017/07/20 14:35:26'')
 
* paraview/gcc-mpi-qt-ospray-opengl/5.0.1 (''2017/07/20 14:35:26'')
 
* paraview/gcc-mpi-qt-ospray-opengl/5.6.1 (''2019/06/10  8:22:13'')
 
* parmetis/4.0.3 (''2017/07/20 14:35:26'')
 
* prinseq-lite/0.20.4 (''2019/01/24 16:05:09'')
 
* pyxsim/2.1.0 (''2017/12/13 15:05:31'')
 
* qiime2/qiime2-2018.11 (''2019/01/18 14:52:07'')
 
* readline/6.3 (''2017/07/20 14:35:26'')
 
* readline/7.0 (''2018/12/14 12:35:10'')
 
* rstudio/3.0.1 (''2018/12/07 10:10:31'')
 
* samtools/gcc/1.3.1 (''2017/07/20 14:35:26'')
 
* savu/2.3/gcc-5.2.0/openmpi-2.0.2 (''2019/01/03 10:17:30'')
 
* savu/2.3.1/gcc-5.2.0/openmpi-2.0.2 (''2019/01/31  9:57:56'')
 
* ssw/2016-08-08 (''2017/07/20 14:35:26'')
 
* STAR/2016-10-27 (''2017/07/20 14:35:26'')
 
* STAR/2.6.1 (''2018/11/20 11:28:34'')
 
* starccm+/11.02.010 (''2018/11/15 12:10:36'')
 
* starccm+/12.04.011 (''2019/06/14  9:13:20'')
 
* starccm+/12.06.011 (''2019/06/14  9:13:20'')
 
* starccm+/13.04.011 (''2018/10/17 12:34:29'')
 
* starccm+/13.06.011 (''2018/11/15 13:22:29'')
 
* starccm+/14.02.012 (''2019/06/14  9:57:07'')
 
* starccm+/14.02.012.R8 (''2019/06/14  9:57:07'')
 
* stata/14.1.0 (''2017/07/20 14:35:26'')
 
* stata/SE/14.1.0 (''2017/07/20 14:35:26'')
 
* stata/SE/15.0 (''2018/12/06 12:36:16'')
 
* test-modules (''2017/07/20 14:35:26'')
 
* tophat/gcc/2.1.1 (''2017/07/20 14:35:26'')
 
* transrate/1.0.3 (''2017/07/20 14:35:27'')
 
* trinityrnaseq/gcc/2.2.0 (''2017/07/20 14:35:27'')
 
* trinityrnaseq/gcc/2.5.1 (''2018/01/11 12:28:49'')
 
* trinityrnaseq/gcc/2.8.2 (''2018/11/20 10:59:30'')
 
* utilities/multi (''2017/07/20 14:35:27'')
 
* yt/3.2.3 (''2017/07/20 14:35:27'')
 
* yt/3.3.1 (''2017/07/20 14:35:27'')
 
* yt/3.4.0 (''2018/09/25  9:46:17'')
 
* yt/3.4.1 (''2018/09/24  9:56:44'')
 
===Libs===
 
* boost/1.63/gcc-6.3.0 (''2018/10/23 10:36:32'')
 
* boost/gcc/1.61.0 (''2017/07/20 14:35:27'')
 
* expat/gcc/2.2.0 (''2017/07/20 14:35:27'')
 
* fftw3/gcc/3.3.5 (''2017/07/20 14:35:27'')
 
* gsl/gcc/2.1 (''2018/09/24  9:56:44'')
 
* hdf5/gcc/openmpi/1.8.16 (''2017/07/20 14:35:27'')
 
* hdf5/gcc/openmpi/1.8.17 (''2017/07/20 14:35:27'')
 
* hdf5/gcc/openmpi/1.8.17-serial (''2017/07/20 14:35:27'')
 
* hdf5/intel/intelmpi/1.8.16 (''2017/07/20 14:35:27'')
 
* htslib/1.4/gcc-6.3.0 (''2017/07/20 14:35:27'')
 
* hypre/intel/2.10.0b (''2017/07/20 14:35:27'')
 
* libbeagle/2.1.2 (''2017/07/20 14:35:27'')
 
* libgd/gcc/2.2.3 (''2017/07/20 14:35:27'')
 
* libjpeg-turbo/gcc/1.5.1 (''2017/07/20 14:35:27'')
 
* libpng/1.6.25 (''2017/07/20 14:35:27'')
 
* mpich/3.2/gcc-5.2.0 (''2017/07/20 14:35:27'')
 
* mpich/gcc/3.2.0 (''2017/07/20 14:35:27'')
 
* mpich/intel/3.2.0 (''2017/07/20 14:35:27'')
 
* ncbi-blast/2.4.0 (''2017/07/20 14:35:27'')
 
* ncurses/6.0 (''2017/07/20 14:35:27'')
 
* netcdf-c/gcc/intelmpi/4.4.1 (''2017/07/20 14:35:27'')
 
* netloc/0.5 (''2017/07/20 14:35:27'')
 
* nlopt/2.4.2/intel-2017 (''2017/08/16 16:36:31'')
 
* obitools/1.2.9 (''2017/07/20 14:35:27'')
 
* openblas/0.2.19/gcc-4.9.3 (''2017/07/20 14:35:27'')
 
* openblas/gcc/0.2.18 (''2017/08/04  7:47:34'')
 
* openmpi/1.10.5/gcc-5.2.0 (''2017/07/20 14:35:27'')
 
* openmpi/1.10.5/gcc-6.3.0 (''2017/07/20 14:35:27'')
 
* openmpi/1.10.5/intel-2017 (''2017/07/20 14:35:27'')
 
* openmpi/1.10.5/pgi-17.4 (''2019/01/24 17:04:55'')
 
* openmpi/1.8.4/intel-2016 (''2019/01/24 17:04:55'')
 
* openmpi/2.0.2/gcc-5.2.0 (''2017/07/20 14:35:27'')
 
* openmpi/2.0.2/gcc-6.3.0 (''2017/07/20 14:35:27'')
 
* openmpi/2.0.2/gcc-7.3.0 (''2018/02/23 11:23:18'')
 
* openmpi/2.0.2/intel-2016 (''2017/07/20 14:35:27'')
 
* openmpi/3.0.0/gcc-5.2.0 (''2017/10/18  9:08:28'')
 
* openmpi/3.0.0/gcc-7.3.0 (''2018/02/23 11:23:18'')
 
* openmpi/3.0.0/gcc-8.2.0 (''2018/11/22  9:40:22'')
 
* openmpi/gcc/1.10.2 (''2017/07/20 14:35:27'')
 
* openmpi/gcc/1.10.5 (''2017/07/20 14:35:27'')
 
* openmpi/intel/1.10.2 (''2017/07/20 14:35:27'')
 
* openmpi/intel/1.8.8 (''2017/07/20 14:35:27'')
 
* openmpi/intel/2.0.1 (''2017/07/20 14:35:27'')
 
* parmetis/4.0.3 (''2017/07/20 14:35:27'')
 
* qt/gcc/4.8.6 (''2017/07/20 14:35:27'')
 
* qt/gcc/5.13.0 (''2019/07/17 10:48:18'')
 
* readline/6.3 (''2017/07/20 14:35:27'')
 
* scalapack/intel/intelmpi/2.0.2 (''2017/07/20 14:35:27'')
 
* zlib/gcc/1.2.8 (''2017/07/20 14:35:27'')
 
===Development===
 
* anaconda/4.0 (''2017/07/20 14:35:27'')
 
* autotools/2016-11-03 (''2017/07/20 14:35:27'')
 
* cmake/3.12.3 (''2018/10/23 16:12:30'')
 
* cmake/3.13.0/gcc-6.3.0 (''2018/10/23 13:31:04'')
 
* cmake/3.5.1 (''2017/07/20 14:35:27'')
 
* cuda/10.1.168 (''2019/05/30 13:00:31'')
 
* cuda/6.5.14 (''2018/11/07 15:20:21'')
 
* cuda/7.5.18 (''2018/11/07 15:20:21'')
 
* cuda/8.0.61 (''2017/07/20 14:35:27'')
 
* cuda/9.0.176 (''2017/10/13 10:37:41'')
 
* gcc/4.9.3 (''default    2018/12/20 12:59:48'')
 
* gcc/5.2.0 (''2017/07/20 14:35:27'')
 
* gcc/6.3.0 (''2017/07/20 14:35:27'')
 
* gcc/7.3.0 (''2018/02/19 10:57:25'')
 
* gcc/8.2.0 (''2018/11/21 14:18:33'')
 
* idl/8.4 (''2017/07/20 14:35:27'')
 
* intel/2016 (''2017/07/20 14:35:27'')
 
* intel/2017 (''2018/11/01 10:17:18'')
 
* intel/2018 (''2017/10/10 10:29:29'')
 
* intel/advisor/64/2016 (''2017/07/20 14:35:27'')
 
* intel/advisor/64/2016.2.181 (''2017/07/20 14:35:27'')
 
* intel/compiler/64/2016 (''2017/07/20 14:35:27'')
 
* intel/compiler/64/2016.2.181 (''2017/07/20 14:35:27'')
 
* intel/inspector/64/2016 (''2017/07/20 14:35:27'')
 
* intel/inspector/64/2016.2.181 (''2017/07/20 14:35:27'')
 
* intel/ipp/64/11.0 (''2017/07/20 14:35:27'')
 
* intel/ipp/64/9.0.2 (''2017/07/20 14:35:27'')
 
* intel/itac/64/9.1 (''2017/07/20 14:35:27'')
 
* intel/itac/64/9.1.2p (''2017/07/20 14:35:27'')
 
* intel/mkl/64/11.3 (''2017/07/20 14:35:27'')
 
* intel/mkl/64/11.3.2 (''2017/07/20 14:35:27'')
 
* intel/mkl/mic/11.3 (''2017/07/20 14:35:27'')
 
* intel/mkl/mic/11.3.2 (''2017/07/20 14:35:27'')
 
* intel/mpi/64/2017 (''2018/11/22 10:41:56'')
 
* intel/mpi/64/2018 (''2018/11/22 10:41:56'')
 
* intel/mpi/64/5.1.3.181 (''2017/07/20 14:35:27'')
 
* intel/tbb/64/2016 (''2017/07/20 14:35:27'')
 
* intel/tbb/64/2016.2.181 (''2017/07/20 14:35:27'')
 
* intel/vtune/32/2016 (''2017/07/20 14:35:27'')
 
* intel/vtune/32/2016.2.181 (''2017/07/20 14:35:27'')
 
* intel/vtune/64/2016 (''2017/07/20 14:35:27'')
 
* intel/vtune/64/2016.2.181 (''2017/07/20 14:35:27'')
 
* java/jdk1.7.0_80 (''2017/07/20 14:35:27'')
 
* java/jdk1.8.0_102 (''2017/07/20 14:35:27'')
 
* julia/1.0.0 (''2018/09/05 13:22:59'')
 
* locale/en_US.UTF-8 (''2019/01/18 14:52:08'')
 
* mono/4.4.1 (''2017/07/20 14:35:27'')
 
* mono/5.12.0 (''2018/05/17 10:59:24'')
 
* mono/5.16.0.220 (''2018/11/30 10:25:51'')
 
* perl/5.24.0 (''2017/07/20 14:35:27'')
 
* pgi/19.4 (''2019/05/14 14:36:36'')
 
* python/2.7/anaconda-4.3.1 (''2017/07/20 14:35:27'')
 
* python/2.7.11 (''2017/07/20 14:35:27'')
 
* python/3.5.1 (''2017/07/20 14:35:27'')
 
* python/anaconda/4.0/2.7 (''2018/11/06  9:36:22'')
 
* python/anaconda/4.0/3.5 (''2018/11/06  9:36:22'')
 
* python/anaconda/4.1.1/2.7 (''2018/11/06  9:36:22'')
 
* python/anaconda/4.3.31/3.6-VE (''2018/02/14 11:09:38'')
 
* python/anaconda/4.6/miniconda/3.7 (''2019/06/26 11:13:12'')
 
* R/3.3.0 (''2018/10/16 13:47:39'')
 
* R/3.4.1 (''2018/10/16 13:47:39'')
 
* R/3.5.1 (''2018/12/14 12:35:10'')
 
 
  
  

Latest revision as of 13:33, 10 November 2022

Introduction

Viper uses a module environment to provide access to applications, tools and libraries. Modules allow us to provide multiple versions of applications and libraries without causing conflicts. By loading a module, your environment is configured to allow you to use your chosen application by setting required paths and environment variables. Modules can be loaded and unloaded dynamically, giving you full control over your working environment.

Module command

The following commands allow you to find out what modules are available on Viper, find out more information about them and control which modules you load.

module avail

To see a full list of applications and libraries that are available to use on Viper, you should run module avail as shown below (showing only a few of the hundreds of modules that are available):

[username@login01 ~]$ module avail

--------------------------------------------- /usr/share/Modules/modulefiles ---------------------------------------------------------------------------------------
dot         module-git  module-info modules     null        use.own

--------------------------------------------- /trinity/clustervision/CentOS/7/modulefiles/apps ------------------------------------------------------------------------------
abyss/1.5.2/gcc-5.2.0                   centrifuge/1.0.4                        hyphy/2.2.7/gcc-6.3.0/openmpi-2.0.2     orca/4.0.0                              STAR/2.6.1
albacore/1.2.6                          cp2k/3.0                                hypre/intel/2.10.0b                     orca/4.0.1                              starccm+/11.02.010
ansys/v170                              cp2k/6.1.0/gcc-7.3.0/intelmpi-2018      idl/8.4                                 orca/4.1.0/openmpi212                   starccm+/12.04.011
ansys/v172                              cp2k/6.1.0/gcc-7.3.0/openmpi-3.0.0      image-magic/7.0.7/mpich-3.2/gcc-5.2.0   orca/4.1.0/openmpi313                   starccm+/12.06.011



If you want to use a specific application, you can find which versions are available by running module avail modulename, e.g.:

[username@login01 ~]$ module avail gcc

-------------------------------------------- /trinity/clustervision/CentOS/7/modulefiles/development ---------------------------------------------------------------------------
gcc/4.9.3(default) gcc/5.2.0          gcc/6.3.0          gcc/7.3.0          gcc/8.2.0

In this case, the (default) indicates that gcc/4.9.3 is the default GCC module.

module show

To find out what a module file does, run module show modulename. This will show you brief information about what the module will do (this information is being updated for existing modules to show more relevant information), along with how the module will update your environment:

[username@login01 ~]$ module show abyss/1.5.2/gcc-5.2.0
-------------------------------------------------------------------
/trinity/clustervision/CentOS/7/modulefiles/abyss/1.5.2/gcc-5.2.0

module-whatis    ABySS is a de novo sequence assembler intended for short paired-end reads and large genomes
prepend-path     PATH /trinity/clustervision/CentOS/7/apps/abyss/1.5.2/gcc-5.2.0/bin
prepend-path     LD_LIBRARY_PATH /trinity/clustervision/CentOS/7/apps/abyss/1.5.2/gcc-5.2.0/lib
prepend-path     C_INCLUDE_PATH /trinity/clustervision/CentOS/7/apps/abyss/1.5.2/gcc-5.2.0/include
prepend-path     PKG_CONFIG_PATH /trinity/clustervision/CentOS/7/apps/abyss/1.5.2/gcc-5.2.0/lib/pkgconfig
-------------------------------------------------------------------

module add

To add a module you use module add modulename. In most cases, running this command will not display anything and will just return you back to the Linux command prompt.

[username@login01 ~]$ module add gcc

If you want to add a specific version of a module then you should include the version number, for example:

[username@login01 ~]$ module add gcc/8.2.0

Without putting a version in, you will either load the highest alphanumeric version or the default if one is set.

Note: module load and module add are the same.

module list

To see what modules you have loaded, run module list

[username@login01 ~]$ module list
Currently Loaded Modulefiles:
  1) gcc/8.2.0

module delete

To remove a loaded module and all environment configurations that the module has set, run module delete modulename. Running this command will not display anything and will just return you back to the Linux command prompt

Note: module delete, module unload, module del and module rm are the same

module purge

To remove all loaded modules and return your environment to are vanilla state, run module purge. Running this command will not display anything and will just return you back to the Linux command prompt

module whatis

To find out what modules are available with information about what each application does, run module whatis, for example (selected output):

[username@login01 ~]$ module whatis
STAR/2016-10-27      : Spliced Transcripts Alignment to a Reference
abyss/1.5.2/gcc-5.2.0: ABySS is a de novo sequence assembler intended for short paired-end reads and large genomes
crop/1.33/gcc-6.3.0  : Crop clustering approach to find common taxonomic units in large datasets
discovardenovo/52488 : DISCOVAR de novo – large genome assembler
expat/gcc/2.2.0      : Expat XML parser
ssw/2016-08-08       : SSW (NASA SolarSoft)
test-modules         : Adds modules under development to your module avail list

Note: This information is currently being updated for existing modules.

Modulefiles

Modulefile actions

Typically modulefiles instruct the module command to alter or set shell environment variables such as paths and flags, to provide access to executables or libraries.

[username@login01 ~]$ module show openmpi/1.10.5/gcc-6.3.0
-------------------------------------------------------------------
/trinity/clustervision/CentOS/7/modulefiles/openmpi/1.10.5/gcc-6.3.0:

module-whatis    loads the openmpi/1.10.5/gcc-6.3.0 environment
module           load gcc/6.3.0
conflict         mpich
conflict         openmpi
conflict         mvapich2
conflict         intel
prepend-path     PATH /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0/bin
prepend-path     LD_LIBRARY_PATH /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0/lib
prepend-path     LIBRARY_PATH /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0/lib
prepend-path     INCLUDE /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0/include
prepend-path     C_INCLUDE_PATH /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0/include
prepend-path     MANPATH /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0/share/man
setenv           MPI_HOME /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0
setenv           MPI_RUN /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0/bin/mpirun
setenv           OMPI_HOME /trinity/clustervision/CentOS/7/apps/openmpi/1.10.5/gcc-6.3.0
-------------------------------------------------------------------

Other common options set in a module file include the following:

  • Paths such as LIBRARY_PATH, CPATH, LD_RUN_PATH
  • Compiler flags such as CFLAGS, CPPFLAGS, FCFLAGS and LDFLAGS
  • Application-specific paths or options such as MPI_HOME or MPI_RUN
  • Manual page location via the MANPATH
  • Other modules to load to meet dependencies
  • Any conflicting modules that can't be loaded together
  • License file locations, for example for Intel Compiler

Modulefile naming convention

Most modulefiles take the form applicationname/version, for example gcc/5.2.0' for the GNU Compiler Collection version 5.2.0. There are also other versions of GCC, for example gcc/5.2.0, gcc/6.3.0 and gcc/7.3.0. A similar example is matlab/2016a

However, due to the specific combinations of some of the tools required to build certain applications which may be relevant to those using the application, a new naming convention is being introduced. These modulefiles will take the form of application/version/ followed by information about the compiler module used to build the application (and possibly the version of MPI), for example:

  • crop/1.33/gcc-6.3.0
  • openmpi/1.10.5/gcc-5.2.0
  • openmpi/1.10.5/gcc-6.3.0
  • openmpi/1.10.5/intel-2017

If a piece of software doesn't have a specific version number, for example when retrieved from GitHub, then the version will often be replaced by the date the application was built, for example sparsehash/2016-12-21/gcc-4.9.3

Test modulefiles

While applications are being installed and tested, they may be put in a test area and not directly available to users. This is to stop people from using modules that may not be correctly configured or are subject to change while testing the installations. To see the modules that are in testing you need to run module add test-modules before running module avail

Module Tips and Tricks

  • Loading a module will be active for that session only
  • Multiple modules can be loaded in one command, for example module add gcc/5.2.0 sparsehash/2016-12-21/gcc-5.2.0
  • module add commands should be included in job submission scripts
  • The module add command support tab completion
  • You can create private modules in your own home directory
  • The module add commands are recorded to track application usage


Navigation