TARA User Guide
- TARA User Guide
- Overview of TARA
- File Storage and transfer
- How to Use Application System
- Compiling Source Code
- Introduction to SLURM
- Running Jobs by SLURM Script
- Running Jobs by SLURM Interactive
- ThaiSC Support
- Frequently Asked Questions (FAQ)
Modules and Local Modules
Modules management
The module is the framework, software or library on the high-performance computer (HPC). The module helps the user to use or work on the high-performance computer (HPC) efficiently, which is divided into 2 parts.
- Environment module system (Lmod)
- EasyBuild
Environment module system (Lmod)
The module management system is a central software system that allows easy and convenient module use and management. Users do not need to install software by themselves.
The module management system is divided into sub-topics as follows.
- List all available module
- View Description of module
- List loaded module
- Load a module
- Unload all modules
List all available modules
Use module avail
or ml av
command to see a list of all the central modules
$ module avail ----------------------------------------------------------- /tarafs/utils/modules/modules/all ------------------------------------------------------------ Autoconf/2.69-GCCcore-7.3.0 OpenMPI/3.1.1-GCC-7.3.0-2.30 hwloc/1.11.10-GCCcore-7.3.0 Autoconf/2.69-GCCcore-8.2.0 (D) OpenMPI/3.1.3-GCC-8.2.0-2.31.1 (D) hwloc/1.11.11-GCCcore-8.2.0 (D) Automake/1.16.1-GCCcore-7.3.0 Python/2.7.15-foss-2018b icc/2019.1.144-GCC-8.2.0-2.31.1 Automake/1.16.1-GCCcore-8.2.0 (D) Python/3.6.6-foss-2018b (D) iccifort/2019.1.144-GCC-8.2.0-2.31.1 Autotools/20180311-GCCcore-7.3.0 SQLite/3.24.0-GCCcore-7.3.0 ifort/2019.1.144-GCC-8.2.0-2.31.1 Autotools/20180311-GCCcore-8.2.0 (D) ScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1 iimpi/2019a Bison/3.0.4-GCCcore-7.3.0 ScaLAPACK/2.0.2-gompi-2019a-OpenBLAS-0.3.5 (D) imkl/2019.1.144-iimpi-2019a Bison/3.0.4 Tcl/8.6.8-GCCcore-7.3.0 impi/2018.4.274-iccifort-2019.1.144-GCC-8.2.0-2.31.1 Bison/3.0.5-GCCcore-7.3.0 XZ/5.2.4-GCCcore-7.3.0 intel/2019a Bison/3.0.5-GCCcore-8.2.0 XZ/5.2.4-GCCcore-8.2.0 (D) libffi/3.2.1-GCCcore-7.3.0 Bison/3.0.5 (D) binutils/2.30-GCCcore-7.3.0 libpciaccess/0.14-GCCcore-7.3.0 CUDA/10.0.130 binutils/2.30 libpciaccess/0.14-GCCcore-8.2.0 (D) EasyBuild/3.8.1 binutils/2.31.1-GCCcore-8.2.0 (L) libreadline/7.0-GCCcore-7.3.0 FFTW/3.3.8-gompi-2018b binutils/2.31.1 (D) libtool/2.4.6-GCCcore-7.3.0 FFTW/3.3.8-gompi-2019a (D) bzip2/1.0.6-GCCcore-7.3.0 libtool/2.4.6-GCCcore-8.2.0 (D) GCC/7.3.0-2.30 flex/2.6.4-GCCcore-7.3.0 libxml2/2.9.8-GCCcore-7.3.0 GCC/8.2.0-2.31.1 (L,D) flex/2.6.4-GCCcore-8.2.0 libxml2/2.9.8-GCCcore-8.2.0 (D) GCCcore/7.3.0 flex/2.6.4 (D) ncurses/6.0 GCCcore/8.2.0 (L,D) foss/2018b ncurses/6.1-GCCcore-7.3.0 (D) GMP/6.1.2-GCCcore-7.3.0 foss/2019a (D) numactl/2.0.11-GCCcore-7.3.0 M4/1.4.17 gettext/0.19.8.1 numactl/2.0.12-GCCcore-8.2.0 (D) M4/1.4.18-GCCcore-7.3.0 gompi/2018b xorg-macros/1.19.2-GCCcore-7.3.0 M4/1.4.18-GCCcore-8.2.0 gompi/2019a (D) xorg-macros/1.19.2-GCCcore-8.2.0 (D) M4/1.4.18 (D) help2man/1.47.4-GCCcore-7.3.0 zlib/1.2.11-GCCcore-7.3.0 OpenBLAS/0.3.1-GCC-7.3.0-2.30 help2man/1.47.4 zlib/1.2.11-GCCcore-8.2.0 OpenBLAS/0.3.5-GCC-8.2.0-2.31.1 (D) help2man/1.47.7-GCCcore-8.2.0 (D) zlib/1.2.11 (D)
Note: (D) is the default version of the module that is loaded when the name is specified but the version is unspecified.
To search for target modules more easily, specify the module name. The following is an example of a search for the openmpi module.
$ module avail openmpi ---------------------- /tarafs/utils/modules/modules/all ----------------------- OpenMPI/3.1.1-GCC-7.3.0-2.30 OpenMPI/3.1.3-GCC-8.2.0-2.31.1 (D)
View Description of module
Use module spider
or ml spider
command to see the details of each module
$ module spider ------------------------------------------------------------------------------------------------------------------------------------------------------------- The following is a list of the modules currently available: ------------------------------------------------------------------------------------------------------------------------------------------------------------- Autoconf: Autoconf/2.69-GCCcore-7.3.0, Autoconf/2.69-GCCcore-8.2.0 Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of M4 macro calls. Automake: Automake/1.16.1-GCCcore-7.3.0, Automake/1.16.1-GCCcore-8.2.0 Automake: GNU Standards-compliant Makefile generator Autotools: Autotools/20180311-GCCcore-7.3.0, Autotools/20180311-GCCcore-8.2.0 This bundle collect the standard GNU build tools: Autoconf, Automake and libtool Bison: Bison/3.0.4-GCCcore-7.3.0, Bison/3.0.4, Bison/3.0.5-GCCcore-7.3.0, Bison/3.0.5-GCCcore-8.2.0, Bison/3.0.5 Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables. CUDA: CUDA/10.0.130 CUDA (formerly Compute Unified Device Architecture) is a parallel computing platform and programming model created by NVIDIA and implemented by the graphics processing units (GPUs) that they produce. CUDA gives developers access to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs. EasyBuild: EasyBuild/3.8.1 EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way. FFTW: FFTW/3.3.8-gompi-2018b, FFTW/3.3.8-gompi-2019a FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.
You can specify the module name with module spider command as well.
$ ml spider openmpi ------------------------------------------------------------------------------------------------------------------ OpenMPI: ------------------------------------------------------------------------------------------------------------------ Description: The Open MPI Project is an open source MPI-3 implementation. Versions: OpenMPI/3.1.1-GCC-7.3.0-2.30 OpenMPI/3.1.3-GCC-8.2.0-2.31.1 ------------------------------------------------------------------------------------------------------------------ For detailed information about a specific "OpenMPI" module (including how to load the modules) use the module's full name. For example: $ module spider OpenMPI/3.1.3-GCC-8.2.0-2.31.1
List loaded module
Use module list
or ml
command to see the module that has been loaded
$ module list No modules loaded
If the modules are loaded, the details are displayed like the following example.
$ module list Currently Loaded Modules: 1) GCCcore/8.2.0 2) binutils/2.31.1-GCCcore-8.2.0 3) GCC/8.2.0-2.31.1
Load a module
Use module load
or ml
command followed by the module name to load the desired module
$ module list No modules loaded $ module load GCC $ module list Currently Loaded Modules: 1) GCCcore/8.2.0 2) binutils/2.31.1-GCCcore-8.2.0 3) GCC/8.2.0-2.31.1
Unload all modules
Use module purge
or ml purge
command to cancel all loaded modules
$ module list Currently Loaded Modules: 1) GCCcore/8.2.0 2) binutils/2.31.1-GCCcore-8.2.0 3) GCC/8.2.0-2.31.1 $ module purge $ module list No modules loaded
EasyBuild
EasyBuild is a software framework that helps to create local modules.
The commands used to make the local modules include.
$ mu # Use local module $ module load EasyBuild # Load easybuild $ eb -S# Search for recipes for module $ eb -Dr # Dry-run to check before install $ eb -r # Install module
Example of making a local module (GCC module)
1. Use mu
command to use the local modules
$ mu
2. Use module load Easybuild
command to load the Easybuild program for creating the local module.
$ module load EasyBuild
3. Use eb -S <module>
command to search recipes of software.
eb -S gcc
4. Use eb <module> -Dr
command to test or check various settings.
eb GCC-8.2.0-2.31.1.eb -Dr
5. Use eb <module> -r
command to install the desired module.
eb GCC-8.2.0-2.31.1.eb -r