Environment Modules are designed to provide a flexible development environment. Some of the CAC's Private Clusters are managed with OpenHPC, which includes the use of modules via Lmod. Lmod is an environment module system developed by TACC which provides you with a very easy way to configure your environment for compiling, linking, and running applications using a variety of different compilers and a variety of external libraries.
Generally, the module utility allows you to configure your environment to prioritize the compiler you want, the libraries you need to link against, and any runtime dependencies you may have. It also helps you to run selected pre-built applications in the correct, fully-configured environment.
modulewith no options set will get you a listing of the available options for module.
module availto find out what's available via the module system. This displays all available modules that you can load.
module listto list all of the current modules that you have loaded.
- It's good to know what you already have loaded in your environment, as some of these modules may conflict with each other.
- The caveat here is that this doesn't tell you anything about environment settings that have been changed outside of the module command. So if you have attempted to manually configure or add a different compiler, it won't show up in this list. The moral of this is to be aware of potential conflicts when you manually add paths or introduce environment settings in other shell configuration files.
module spider- list all modules, even those not available to load
module load <module>add/load a module
module unload <module>unload a module