Modules
From HPC
(Difference between revisions)
(→Unload a module) |
(→Using module command in your scripts) |
||
Line 49: | Line 49: | ||
module unload gcc/7.4.0 | module unload gcc/7.4.0 | ||
- | ==Using module command in your scripts== | + | ==Using module command in your bash scripts== |
To use the module command in you bash scripts you must first intialise it within you script using the following line | To use the module command in you bash scripts you must first intialise it within you script using the following line | ||
- | + | source /etc/profile.d/modules.sh | |
For example | For example | ||
#!/bin/bash | #!/bin/bash | ||
- | + | ||
+ | source /etc/profile.d/modules.sh | ||
+ | |||
module list | module list | ||
- | module load | + | module load gcc/7.4.0 |
module list | module list | ||
+ | |||
+ | ==Using module command in your qsub scripts== | ||
+ | |||
+ | '''Option One''' | ||
+ | |||
+ | Set you qsub script to include all environment variables | ||
+ | |||
+ | #$ -V | ||
+ | |||
+ | For example | ||
+ | |||
+ | #!/bin/bash | ||
+ | #$ -N R_JOB | ||
+ | #$ -M me@lshtm.ac.uk -m be | ||
+ | #$ -q short.q | ||
+ | #$ -l mem_free=1G,h_vmem=1.2G | ||
+ | #$ -V -cwd | ||
+ | |||
+ | module load R/3.4.1 | ||
+ | |||
+ | R CMD BATCH myrscript myrscript.out | ||
+ | |||
+ | '''Option two''' | ||
+ | |||
+ | Load the module environment directly to the qsub script with | ||
+ | |||
+ | source /etc/profile.d/modules.sh | ||
+ | |||
+ | For example | ||
+ | |||
+ | #!/bin/bash | ||
+ | #$ -q short.q | ||
+ | #$ -l mem_free=1G,h_vmem=1.2G | ||
+ | |||
+ | source /etc/profile.d/modules.sh | ||
+ | |||
+ | module load R/3.4.1 | ||
+ | |||
+ | R CMD BATCH myrscript myrscript.out | ||
[[Category:Getting Started]] | [[Category:Getting Started]] |
Revision as of 16:34, 3 April 2019
Contents |
Modules
Modules are a tool to allow you to change the working enviroment to support various application and version of those applications.
It allows use for example to support three versions of java and 32bit and 64 version of each. This equates to 6 different versions, using modules you can load the one you want to use or unload the ones you don't.
Commands
Help
module help
Show currently loaded modules
module list
Example
> module list Currently Loaded Modulefiles: 1) openmpi/1.2.6-1/intel 3) mkl/10/em64t 2) intel/compiler101_x86_64 4) local_libs >
Show available modules
module avail
This would display something similar to this
-------------------------------------------- /usr/local/modulefiles --------------------------------------------- dot gcc/6.5.0 gcc/7.4.0 module-git module-info modules null R/3.4.1 R/3.4.4 R/3.5.2 R/3.5.3 use.own
Load a module
module load <module_name>
For example
module load gcc/7.4.0
Unload a module
module unload <module_name>
For example
module unload gcc/7.4.0
Using module command in your bash scripts
To use the module command in you bash scripts you must first intialise it within you script using the following line
source /etc/profile.d/modules.sh
For example
#!/bin/bash
source /etc/profile.d/modules.sh
module list module load gcc/7.4.0 module list
Using module command in your qsub scripts
Option One
Set you qsub script to include all environment variables
#$ -V
For example
#!/bin/bash #$ -N R_JOB #$ -M me@lshtm.ac.uk -m be #$ -q short.q #$ -l mem_free=1G,h_vmem=1.2G #$ -V -cwd module load R/3.4.1 R CMD BATCH myrscript myrscript.out
Option two
Load the module environment directly to the qsub script with
source /etc/profile.d/modules.sh
For example
#!/bin/bash #$ -q short.q #$ -l mem_free=1G,h_vmem=1.2G
source /etc/profile.d/modules.sh module load R/3.4.1 R CMD BATCH myrscript myrscript.out