Lmod: Difference between revisions

From Research Computing Center Wiki
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Sapelo]][[Category:Software]][[Category:Other]][[Category:Sapelo2]]
[[Category:Software]][[Category:Other]][[Category:Sapelo2]]


=== Category ===
=== Category ===
Other
Other
=== Program On ===
=== Program On ===
Sapelo, Sapelo2
Sapelo2
=== Version ===
=== Version ===
5.8 (Sapelo), 7.4.17 (Sapelo2)
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 Sapelo]] and [[Running Jobs on Sapelo2]]
Also refer to [[Running Jobs on Sapelo2]]


Environment variables for software and applications installed on Sapelo and Sapelo2 are managed by  
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://www.tacc.utexas.edu/research-development/tacc-projects/lmod/user-guide Lmod-User Guide] is a good source of information for general Lmod usage.
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 48: Line 48:
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.
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 PGI compiler suite module, use the 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">
<pre class="gcommand">
module load pgi/14.9
module load PGI
</pre>
</pre>
Note that the name of the application is case sensitive for the '''module load''' command. That is, if the module name is PGI/14.9, you cannot load it as pgi/14.9 and vice versa.
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 pgi/14.9
module unload PGI
</pre>
</pre>


Information on a module can be obtained with the '''module help''' command. For example  
Information on a module can be obtained with the '''module help''' command. For example  
<pre class="gcommand">
<pre class="gcommand">
module help pgi/14.9
module help PGI
</pre>
</pre>
returns
returns
<pre class="gcomment">
<pre class="gcomment">
--------------------- Module Specific Help for "pgi/14.9" ----------------------
------------- Module Specific Help for "PGI/19.10-GCC-8.3.0-2.32" --------------


This module sets up the path to use the Portland Group compiler suite
Description
===========
  pgf77 (F77 source code)
C, C++ and Fortran compilers from The Portland Group - PGI
  pgf90 (F90 source code)
  pgcc  (C source code)
  pgCC  (C++ source code)


Version 14.9
 
More information
================
- Homepage: https://www.pgroup.com/


</pre>
</pre>


Some module files also include further description which can be view with the '''module whatis''' command. For example
<pre class="gcommand">
module whatis pgi/14.9
</pre>
returns
<pre class="gcomment">
pgi/14.9            : Name: PGI
pgi/14.9            : Version: 14.9
pgi/14.9            : Category: Compiler suite
pgi/14.9            : Keywords: compiler, profiler, debugger
pgi/14.9            : URL: http://www.pgroup.com/
pgi/14.9            : Description: Portland Group compiler suite


</pre>


'''Detailed example'''
'''Detailed example'''
Line 98: Line 85:


<pre class="gcommand">
<pre class="gcommand">
[username@uga-8a59d7e ~]$ which icc
[shtsai@b1-1 ~]$ which icc
/usr/bin/which: no icc in (/opt/scyld/maui/bin:/usr/lib64/qt-3.3/bin:/opt/scyld/maui/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/share/pvm3/lib:/home/username/bin)
/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>
</pre>
and  
and  
<pre class="gcommand">
<pre class="gcommand">
[username@uga-8a59d7e ~]$echo $LD_LIBRARY_PATH
[shtsai@b1-1 ~]$ echo $LD_LIBRARY_PATH
/opt/scyld/maui/lib:
/opt/apps/slurm/prod/lib64
</pre>
</pre>


After loading the intel module with the command
After loading the intel/2019b module with the command
<pre class="gcommand">
<pre class="gcommand">
module load intel/15.0.2
module load intel/2019b
</pre>
</pre>
the user's PATH, MANPATH, and LD_LIBRARY_PATH are modified. Now
the user's PATH, MANPATH, and LD_LIBRARY_PATH are modified. Now
<pre class="gcommand">
<pre class="gcommand">
[username@uga-8a59d7e ~]$ which icc
[shtsai@b1-1 ~]$ which icc
/usr/local/apps/intel/2015.2.164/bin/icc
/apps/eb/iccifort/2019.5.281/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc
</pre>
</pre>
and  
and  
<pre class="gcommand">
<pre class="gcommand">
[username@uga-8a59d7e ~]$ echo $LD_LIBRARY_PATH
[shtsai@b1-1 ~]$ echo $LD_LIBRARY_PATH
/usr/local/apps/intel/2015.2.164/ipp/lib/intel64:/usr/local/apps/intel/2015.2.164/lib/intel64:/usr/local/apps/intel/2015.2.164/mkl/lib/intel64:/usr/local/apps/intel/2015.2.164/tbb/lib/intel64/gcc4.4:/usr/local/apps/intel/2015.2.164/tbb/lib/intel64:/opt/scyld/maui/lib:
/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>
 
If the user subsequently loads the pgi module, the intel module will be automatically unloaded:
<pre class="gcommand">
[username@uga-8a59d7e ~]$ module load pgi/14.9
 
Lmod is automatically replacing "intel/15.0.2" with "pgi/14.9"
</pre>
</pre>


=== Documentation ===
=== Documentation ===
Please see the user guide at https://www.tacc.utexas.edu/research-development/tacc-projects/lmod/user-guide
Please see the user guide at https://lmod.readthedocs.io/en/latest/010_user.html


=== Installation ===
=== Installation ===


*Sapelo: Version 5.8 is installed in /usr/local/apps/lmod/5.8
*Sapelo2: Version 8.3.13 is installed in /apps/lmod/8.3.13
*Sapelo2: Version 7.4.17 is installed in /usr/local/apps/lmod/7.4.17


=== 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