Environment Modules (software): Difference between revisions

Content deleted Content added
No edit summary
m Correct citation errors (deprecated dead-url parameters), and genfixes
Line 1:
{{Multiple issues|
{{howto|date=February 2015}}
{{manual|date=February 2015}}
}}
{{Infobox Software
 
{{Infobox Softwaresoftware
| name = Environment Modules
| latest_release_version = 4.3.0
Line 12 ⟶ 15:
The '''Environment Modules''' system is a tool to help users manage their [[Unix]] or [[Linux]] shell environment, by allowing groups of related environment-variable settings to be made or removed dynamically.
 
Modules has been around since the early 1990s<ref>{{cite journal |last=Furlani |first=John L. |last2= |first2= |date=September 30 – October 3, 1991 |title=Modules: Providing a Flexible User Environment |url=http://modules.sourceforge.net/docs/Modules-Paper.pdf |journal=Proceedings of the Fifth Large Installation Systems Administration Conference (LISA V) |publisher= |volume= |___location=San Diego, CA |pages=141–152 |doi= |accessdate=9 February 2014}}</ref> and is used at some of the largest computer centers<ref>{{cite web|url=http://www.nics.tennessee.edu/computing-resources/kraken/modules |title=NICS User Support Kraken Modules Description |author= |date=22 May 2011 |website=The National Institute for Computational Sciences (NICS) |publisher=Oak Ridge National Laboratory - Department of Energy |accessdate=9 February 2014 |deadurlurl-status=yesdead |archiveurl=https://web.archive.org/web/20140222062335/http://www.nics.tennessee.edu/computing-resources/kraken/modules |archivedate=22 February 2014 |df= }}</ref> to deploy multiple versions of different software tools to users. The National Energy Research Scientific Computing Center (NERSC) reports that they use Environment Modules to manage nearly all software.<ref>{{cite web |url=https://www.nersc.gov/users/software/nersc-user-environment/modules/ |title=NERSC Modules Software Environment |author=<!--Staff writer(s); no by-line.--> |date=2014-02-07 <!--15:11:50--> |website=The National Energy Research Scientific Computing Center (NERSC) |publisher=Office of Science - Department of Energy |accessdate=19 February 2014}}</ref> Environment Modules is specified as a Baseline Configuration requirement of the DoD High Performance Computing Modernization Program (HPCMP)<ref>{{cite web|url=http://centers.hpc.mil/consolidated/bc/policies.php?choice=modules |title=Use of Modules for Accessing Multiple Versions of Software |author= |date=20 Mar 2008 |website=Baseline Configuration |publisher=DoD High Performance Computing Modernization Program (HPCMP) |accessdate=9 February 2014 |deadurlurl-status=yesdead |archiveurl=https://web.archive.org/web/20140222063501/http://centers.hpc.mil/consolidated/bc/policies.php?choice=modules |archivedate=22 February 2014 |df= }}</ref> Project Baseline Configuration<ref>{{cite web|url=http://centers.hpc.mil/consolidated/bc/index.php |title=DoD High Performance Computing Modernization Program Baseline Configuration |author= |date= |website=Baseline Configuration |publisher=DoD High Performance Computing Modernization Program (HPCMP) |accessdate=9 February 2014 |deadurlurl-status=yesdead |archiveurl=https://web.archive.org/web/20140222063504/http://centers.hpc.mil/consolidated/bc/index.php |archivedate=22 February 2014 |df= }}</ref> team for participating DoD Supercomputing Resource Centers (DSRCs).
 
== modulefiles ==
 
The modules system is based on modulefiles,<ref>{{cite web |url=http://modules.sourceforge.net/man/modulefile.html |title=modulefile - files containing Tcl code for the Modules package |author=John L. Furlani & Peter W. Osel |date=July 2009 |website=SourceForge |publisher=man page |accessdate=9 February 2014}}</ref> which specify groups of environment settings that need to be made together. Modulefiles can be installed in a central ___location for general use, or in a user directory for personal use. Environment Modules modulefiles are written in the [[Tcl| Tcl (Tool Command Language)]] and are interpreted by the modulecmd program via the module<ref>{{cite web |url=http://modules.sourceforge.net/man/module.html |title=module - command interface to the Modules package |author=John L. Furlani & Peter W. Osel |date=July 2009 |website=SourceForge |publisher=man page |accessdate=9 February 2014}}</ref> user interface.
 
The key advantage of Environment Modules is that it is shell independent and supports all major shells such as bash, ksh, zsh, sh, tcsh, and csh. The second key advantage is that it allows to use multiple versions of the program or package from the same account by just loading proper module. Those two advantages were instrumental in making Environment Modules a part of most HPC cluster setups. It also inspired several alternative implementation such as lmod from University of Texas, which is written in Lua instead of TCL.
 
modulefiles are created on per application per version basis. They can be dynamically loaded, unloaded, or switched. Along with the capability of using multiple versions of the same software it also can be used to implement site policies regarding the access and use of applications.
Line 195 ⟶ 198:
sudo make install
}}
 
==== 3.2.10 version of modules built from /usr/local/src ====
 
Line 214 ⟶ 218:
* [https://www.xsede.org/software-environments Xsede Software Environments]. The Extreme Science and Engineering Discovery Environment ― National Science Foundation
* [http://www.nics.tennessee.edu/computing-resources/modules NICS Modules Description] ― The National Institute for Computational Sciences at Oak Ridge National Laboratory ― Department of Energy
* [https://www.tacc.utexas.edu/research-development/tacc-projects/lmod Lmod] ― [[Lua_Lua (programming_languageprogramming language)|Lua]]-based module system
* [https://spack.io/ Spack] ― Package Manager for HPC Software developed at [[Lawrence Livermore National Laboratory]]