Lmod: Difference between revisions

From Research Computing Center Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 79: Line 79:
pgi/14.9            : Name: PGI
pgi/14.9            : Name: PGI
pgi/14.9            : Version: 14.9
pgi/14.9            : Version: 14.9
pgi/14.9            : Category:  
pgi/14.9            : Category: Compiler suite
pgi/14.9            : Keywords: compiler, profiler, debugger
pgi/14.9            : Keywords: compiler, profiler, debugger
pgi/14.9            : URL: http://www.pgroup.com/
pgi/14.9            : URL: http://www.pgroup.com/

Revision as of 10:04, 20 February 2015


Category

Other

Program On

Sapelo

Version

5.8

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 Sapelo.

Environment variables for software and applications installed on Sapelo 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 modules installed, regardless of what is currently loaded, use the command

module spider

Modules can be loaded using the module load command. For example, to load the PGI compiler suite module, use the command

module load pgi/14.9

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/14.9

Information on a module can be obtained with the module help command. For example

module help pgi/14.9

returns

--------------------- Module Specific Help for "pgi/14.9" ----------------------

This module sets up the path to use the Portland Group compiler suite
 
   pgf77 (F77 source code)
   pgf90 (F90 source code)
   pgcc  (C source code)
   pgCC  (C++ source code)

Version 14.9

Some module files also include further description which can be view with the module whatis command. For example

module whatis pgi/14.9

returns

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

Detailed example

Before loading the intel module, the Intel compilers are not in the user's default PATH.

[username@uga-8a59d7e ~]$ 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)

and

[username@uga-8a59d7e ~]$echo $LD_LIBRARY_PATH
/opt/scyld/maui/lib:

After loading the intel module with the command

module load intel/15.0.2

the user's PATH, MANPATH, and LD_LIBRARY_PATH are modified. Now

[username@uga-8a59d7e ~]$ which icc
/usr/local/apps/intel/2015.2.164/bin/icc

and

[username@uga-8a59d7e ~]$ 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:

If the user subsequently loads the pgi module, the intel module will be automatically unloaded:

[username@uga-8a59d7e ~]$ module load pgi/14.9

Lmod is automatically replacing "intel/15.0.2" with "pgi/14.9"

Documentation

Please see the user guide at https://www.tacc.utexas.edu/research-development/tacc-projects/lmod/user-guide

Installation

Version 5.8 is installed in /usr/local/apps/lmod/5.8

System

64-bit Linux