*Environment modules ("module" command) is an OPTIONAL tool in RCCS*
You can set PATH or LD_LIBRARY_PATH environment variables in your setting files and
load config files provided by applications as it always has been.
Loading/unloading modules can be done by "module" command. This command is available both in frontend and computation nodes.
If you are using csh script for job submission, you may need to pay special attention in your script.
Please take a look at the csh script example below.
% module load (module name)
% module unload (module name)
% module purge
% module avail (path; optional)
% module list
% module whatis (module name; optional)
% module help (module name)
The default version is specified for most modules. If you load a module without specifying module versions,
the default version will be loaded.
For example, in Intel MPI,
% module purge
% module avail mpi/intelmpi------------------------- /local/apl/lx/modules/apl --------------------------
mpi/intelmpi/2017.3.196 mpi/intelmpi/2019
mpi/intelmpi/2018.2.199 mpi/intelmpi/5.0.2.044
% module load mpi/intelmpi
% module list
Currently Loaded Modulefiles:
1) mpi/intelmpi/2018.2.199
For some modules, the default version might be shown in the output of "module avail" command.
Default version might be specified even when (default) is not shown in "module avail".
You can check the default version by checking .version file in module directories.
In the case above, default version for mpi/intempi is specified in /local/apl/lx/modules/apl/mpi/intelmpi/.version.
This file contains the following information:
% cat /local/apl/lx/modules/apl/mpi/intelmpi/.version
#%Module 1.0
set ModulesVersion "2018.2.199"
In case of unloading, this kind of omitted notation works. For example,
% module list
Currently Loaded Modulefiles:
1) mpi/intelmpi/2018.2.199
% module unload mpi
% module list
No Modulefiles Currently Loaded.
Here are the examples for amber18-bf1 (which requires intel parallelstudio and cuda 9.1).
These kinds of sample scripts can be found in samples/ directory of each application (file names are *-module.*sh).
#!/bin/sh
#PBS select=ncpus=1:mpiprocs=1:ompthreads=1:jobtype=gpu:ngpus=1
#PBS -l walltime=72:00:00if [ ! -z $PBS_O_WORKDIR ]; then
cd $PBS_O_WORKDIR
fiexport PATH=/local/apl/lx/cuda-9.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/local/apl/lx/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
. /local/apl/lx/amber18-bf1/amber.shpmemd.cuda -O -i mdin ......
#!/bin/sh
#PBS select=ncpus=1:mpiprocs=1:ompthreads=1:jobtype=gpu:ngpus=1
#PBS -l walltime=72:00:00if [ ! -z $PBS_O_WORKDIR ]; then
cd $PBS_O_WORKDIR
fimodule load amber/18/bugfix1
pmemd.cuda -O -i mdin ......
If your login shell is csh, you need to add "source /etc/profile.d/modules.sh"(source can be replaced with ".") before module load command.
For csh/tcsh, module command is defined as an alias command in /etc/profile.d/modules.csh.
Although you don't need a special setting in interactive shell, you should source /etc/profile.d/modules.csh
if you want to use module command in job submission script.
#!/bin/csh -f
#PBS select=ncpus=1:mpiprocs=1:ompthreads=1:jobtype=gpu:ngpus=1
#PBS -l walltime=72:00:00if ( $?PBS_O_WORKDIR ) then
cd $PBS_O_WORKDIR
endifsource /etc/profile.d/modules.csh # required!
module load amber/18/bugfix1pmemd.cuda -O -i mdin .......
Available modules can be listed by "module avail" command.
(on 2018/6/30)
The following modules are loaded when you logged in.
There are no strict rules in module name definition. Typically, module names are defined as
package name/version(-revision)/(revision or compiler type).
e.g.:
amber/18/bugfix1
gaussian/g16/b01
gromacs/2016.5/intel
vmd/1.9.3
Including software suites.
Intel Parallel Studios and Software Collections are included in this category.
Note: Intel Parallel Studio modules may conflict with its individual component such as intel compiler.
Compiler/runtime/programming environment including NVIDIA CUDA.
Miscellaneous applications.
MPI environments (Intel MPI, Open MPI) belong to this category.
Utility applications.
Applications which will be used in computation nodes.
Dependencies for modules in this category will be automatically solved when loading.
(Compilers and MPI environment will also be loaded without asking you.)
Libraries.
Miscellaneous tools. You may not need to manually load/unload modules in this category.
You might want to load "inteldev" module if you want to use advisor or vtune without loading whole intel parallel studio.