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.
LMOD provides a convenient way to dynamically change a user's environment through modulefiles. This includes easily adding or removing directories to the PATH environment variable.
A modulefile contains the necessary information to allow a user to run a particular application or provide access to a particular library. All of this can be done dynamically without logging out and back in. Modulefiles for applications modify the user's path to make access easy. Modulefiles for Library packages provide environment variables that specify where the library and header files can be found. It is also very easy to switch between different versions of a package or remove the package.
Packages can be loaded and unloaded cleanly through the module system. All the popular shells are supported: bash, ksh, csh, tcsh, zsh. LMOD is also available for perl and python.
Lmod is used every day at TACC on all of our clusters. It is also used at thousands of advanced computing sites across the U.S. and throughout the World.
"Best practices for the deployment and management of production HPC clusters," R. McLay, K. W. Schulz, W. L. Barth, and T. Minyard, In State of the Practice Reports, SC11, pages 9:1–9:11, Nov. 2011. doi.acm.org/10.1145/2063348.2063360.
Manager, HPC Software Tools, Research Associate, High Performance Computing
"Modern Scientific Software Management Using EasyBuild and Lmod," M. Geimer, K. Hoste, and R. McLay, Proceedings of the First International Workshop on HPC User Support Tools, HUST '14, Nov. 2014. dx.doi.org/10.1109/HUST.2014.8.
NSF Award #1134872