Lmod: Difference between revisions
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category: | [[Category:Software]][[Category:Other]][[Category:Sapelo2]] | ||
=== Category === | === Category === | ||
Other | Other | ||
=== Program On === | === Program On === | ||
Sapelo2 | |||
=== Version === | === Version === | ||
8.3.13 (Sapelo2) | |||
=== Author / Distributor === | === Author / Distributor === | ||
Texas Advanced Computing Center, please see https://www.tacc.utexas.edu/research-development/tacc-projects/lmod | Texas Advanced Computing Center, please see https://www.tacc.utexas.edu/research-development/tacc-projects/lmod | ||
Line 16: | Line 16: | ||
=== Running Program === | === Running Program === | ||
Also refer to [[Running Jobs on | Also refer to [[Running Jobs on Sapelo2]] | ||
Environment variables for software and applications installed on | Environment variables for software and applications installed on Sapelo2 are managed by | ||
Lmod. In general, each version of an application has its own module file and, whenever | Lmod. In general, each version of an application has its own module file and, whenever | ||
relevant, the compiler suite used for the compilation of the library or application is | relevant, the compiler suite used for the compilation of the library or application is | ||
also added to the name of the module file. | also added to the name of the module file. | ||
The [https:// | The [https://lmod.readthedocs.io/en/latest/010_user.html Lmod-User Guide] is a good source of information for general Lmod usage. | ||
At login time the Lmod facility is loaded automatically and a basic environment is loaded. This makes the '''module''' command available. | At login time the Lmod facility is loaded automatically and a basic environment is loaded. This makes the '''module''' command available. | ||
Line 37: | Line 37: | ||
</pre> | </pre> | ||
To view a list of modules installed, regardless of what is currently loaded, use the command | To view a list of all modules installed, along with a short description, regardless of what is currently loaded, use the command | ||
<pre class="gcommand"> | <pre class="gcommand"> | ||
module spider | module spider | ||
</pre> | </pre> | ||
To search for a software package or to learn more about a package use the command | |||
<pre class="gcommand"> | <pre class="gcommand"> | ||
module | module spider foo | ||
</pre> | </pre> | ||
where "Foo" is the name of a software package. Note that you the name of the package can be entered in upper or lower case, the case is not relevant for the '''module spider''' command. | |||
Modules can be loaded using the '''module load''' command. For example, to load the default PGI compiler suite module, use the command | |||
<pre class="gcommand"> | |||
module load PGI | |||
</pre> | |||
Note that the name of the application is case sensitive for the '''module load''' command. That is, if the module name is PGI, you cannot load it as pgi or Pgi. | |||
Modules can be unloaded using the '''module unload''' command. For example, to remove the PGI compiler suite from your PATH, unload the module with | Modules can be unloaded using the '''module unload''' command. For example, to remove the PGI compiler suite from your PATH, unload the module with | ||
<pre class="gcommand"> | <pre class="gcommand"> | ||
module unload | module unload PGI | ||
</pre> | </pre> | ||
Information on | Information on a module can be obtained with the '''module help''' command. For example | ||
<pre class="gcommand"> | <pre class="gcommand"> | ||
module help | module help PGI | ||
</pre> | |||
returns | |||
<pre class="gcomment"> | |||
------------- Module Specific Help for "PGI/19.10-GCC-8.3.0-2.32" -------------- | |||
- | Description | ||
=========== | |||
C, C++ and Fortran compilers from The Portland Group - PGI | |||
More information | |||
================ | |||
- Homepage: https://www.pgroup.com/ | |||
</pre> | </pre> | ||
'''Detailed example''' | |||
Before loading the intel module, the Intel compilers are not in the user's default PATH. | |||
<pre class="gcommand"> | <pre class="gcommand"> | ||
[shtsai@b1-1 ~]$ which icc | |||
/usr/bin/which: no icc in (/scratch/shtsai/imginger/SG-023:/opt/xcat/bin:/opt/xcat/sbin:/opt/xcat/share/xcat/tools:/opt/xcat/bin:/opt/xcat/sbin:/opt/xcat/share/xcat/tools:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin:/opt/singularity/bin:/opt/apps/slurm/prod/bin:/usr/tools/bin:/opt/dell/srvadmin/iSM/bin:/opt/singularity/bin:/opt/apps/slurm/prod/bin:/usr/tools/bin) | |||
</pre> | |||
and | |||
<pre class="gcommand"> | |||
[shtsai@b1-1 ~]$ echo $LD_LIBRARY_PATH | |||
/opt/apps/slurm/prod/lib64 | |||
</pre> | |||
After loading the intel/2019b module with the command | |||
<pre class="gcommand"> | |||
module load intel/2019b | |||
</pre> | |||
the user's PATH, MANPATH, and LD_LIBRARY_PATH are modified. Now | |||
<pre class="gcommand"> | |||
[shtsai@b1-1 ~]$ which icc | |||
/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc | |||
</pre> | |||
and | |||
<pre class="gcommand"> | |||
[shtsai@b1-1 ~]$ echo $LD_LIBRARY_PATH | |||
/apps/eb/imkl/2019.5.281-iimpi-2019b/mkl/lib/intel64:/apps/eb/imkl/2019.5.281-iimpi-2019b/lib/intel64:/apps/eb/impi/2018.5.288-iccifort-2019.5.281/lib64:/apps/eb/iccifort/2019.5.281/debugger_2019/libipt/intel64/lib:/apps/eb/iccifort/2019.5.281/daal/lib/intel64_lin:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/daal/lib/intel64_lin:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/tbb/lib/intel64/gcc4.4:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/mpi/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/mkl/lib/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/ipp/lib/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/compiler/lib/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/lib:/apps/eb/binutils/2.32-GCCcore-8.3.0/lib:/apps/eb/zlib/1.2.11-GCCcore-8.3.0/lib:/apps/eb/GCCcore/8.3.0/lib64:/apps/eb/GCCcore/8.3.0/lib:/opt/apps/slurm/prod/lib64 | |||
</pre> | </pre> | ||
=== Documentation === | === Documentation === | ||
Please see the user guide at https:// | Please see the user guide at https://lmod.readthedocs.io/en/latest/010_user.html | ||
=== Installation === | === Installation === | ||
Version | |||
*Sapelo2: Version 8.3.13 is installed in /apps/lmod/8.3.13 | |||
=== System === | === System === | ||
64-bit Linux | 64-bit Linux |
Latest revision as of 22:56, 27 October 2020
Category
Other
Program On
Sapelo2
Version
8.3.13 (Sapelo2)
Author / Distributor
Texas Advanced Computing Center, please see https://www.tacc.utexas.edu/research-development/tacc-projects/lmod
Description
From https://www.tacc.utexas.edu/research-development/tacc-projects/lmod: "Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem. Environment Modules provide a convenient way to dynamically change the users' environment through modulefiles. This includes easily adding or removing directories to the PATH environment variable. Modulefiles for Library packages provide environment variables that specify where the library and header files can be found."
Running Program
Also refer to Running Jobs on Sapelo2
Environment variables for software and applications installed on Sapelo2 are managed by Lmod. In general, each version of an application has its own module file and, whenever relevant, the compiler suite used for the compilation of the library or application is also added to the name of the module file.
The Lmod-User Guide is a good source of information for general Lmod usage.
At login time the Lmod facility is loaded automatically and a basic environment is loaded. This makes the module command available.
To view all modules currently loaded in your working environment, use the command
module list
To view all available modules on the system (note that we have not yet implemented a hierarchical structure of module files whereby the module avail command only lists modules compatible with your loaded compiler/MPI), use the command
module avail
To view a list of all modules installed, along with a short description, regardless of what is currently loaded, use the command
module spider
To search for a software package or to learn more about a package use the command
module spider foo
where "Foo" is the name of a software package. Note that you the name of the package can be entered in upper or lower case, the case is not relevant for the module spider command.
Modules can be loaded using the module load command. For example, to load the default PGI compiler suite module, use the command
module load PGI
Note that the name of the application is case sensitive for the module load command. That is, if the module name is PGI, you cannot load it as pgi or Pgi.
Modules can be unloaded using the module unload command. For example, to remove the PGI compiler suite from your PATH, unload the module with
module unload PGI
Information on a module can be obtained with the module help command. For example
module help PGI
returns
------------- Module Specific Help for "PGI/19.10-GCC-8.3.0-2.32" -------------- Description =========== C, C++ and Fortran compilers from The Portland Group - PGI More information ================ - Homepage: https://www.pgroup.com/
Detailed example
Before loading the intel module, the Intel compilers are not in the user's default PATH.
[shtsai@b1-1 ~]$ which icc /usr/bin/which: no icc in (/scratch/shtsai/imginger/SG-023:/opt/xcat/bin:/opt/xcat/sbin:/opt/xcat/share/xcat/tools:/opt/xcat/bin:/opt/xcat/sbin:/opt/xcat/share/xcat/tools:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin:/opt/singularity/bin:/opt/apps/slurm/prod/bin:/usr/tools/bin:/opt/dell/srvadmin/iSM/bin:/opt/singularity/bin:/opt/apps/slurm/prod/bin:/usr/tools/bin)
and
[shtsai@b1-1 ~]$ echo $LD_LIBRARY_PATH /opt/apps/slurm/prod/lib64
After loading the intel/2019b module with the command
module load intel/2019b
the user's PATH, MANPATH, and LD_LIBRARY_PATH are modified. Now
[shtsai@b1-1 ~]$ which icc /apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc
and
[shtsai@b1-1 ~]$ echo $LD_LIBRARY_PATH /apps/eb/imkl/2019.5.281-iimpi-2019b/mkl/lib/intel64:/apps/eb/imkl/2019.5.281-iimpi-2019b/lib/intel64:/apps/eb/impi/2018.5.288-iccifort-2019.5.281/lib64:/apps/eb/iccifort/2019.5.281/debugger_2019/libipt/intel64/lib:/apps/eb/iccifort/2019.5.281/daal/lib/intel64_lin:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/daal/lib/intel64_lin:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/tbb/lib/intel64/gcc4.4:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/mpi/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/mkl/lib/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/ipp/lib/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/compiler/lib/intel64:/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/lib:/apps/eb/binutils/2.32-GCCcore-8.3.0/lib:/apps/eb/zlib/1.2.11-GCCcore-8.3.0/lib:/apps/eb/GCCcore/8.3.0/lib64:/apps/eb/GCCcore/8.3.0/lib:/opt/apps/slurm/prod/lib64
Documentation
Please see the user guide at https://lmod.readthedocs.io/en/latest/010_user.html
Installation
- Sapelo2: Version 8.3.13 is installed in /apps/lmod/8.3.13
System
64-bit Linux