====== Module System Documentation ====== The module system allows users to dynamically manage their shell environment on the cluster, especially for loading different versions of compilers, libraries, and applications without modifying environment variables manually. ===== What Are Modules? ===== Modules are small configuration files that set or unset environment variables like `PATH`, `LD_LIBRARY_PATH`, `MANPATH`, etc. They enable users to: * Load specific software versions * Switch between different tools or compilers * Keep user environments clean and reproducible The cluster typically uses the **Environment Modules** or **Lmod** system. ===== Basic Module Commands ===== Here are some commonly used commands: * **module avail** Lists all available modules. * **module list** Shows currently loaded modules. * **module load ** Loads the specified module into your environment. * **module unload ** Unloads the specified module. * **module purge** Unloads all currently loaded modules. * **module show ** Displays what the module file does (useful for debugging or inspection). Example: module load gcc/11.2.0 # Require a gcc compiler version 11.2.0. module load openmpi/4.1.1 # Require openmpi library version 4.1.1