HPC@Mines has a module system. The module system allows setting up the environment for running applications using one or two simple commands. Module commands can be run from the command line or they can be placed in your .bashrc file. The primary module command is
module load Name_of_module_to_load
This would load a module, which sets your environment to run some application. This typically would involve changing your PATH environmental variable and possibly your LD_LIBRARY_PATH variable. There are also modules for setting up one of several different programming environments.
Module loads "go away" when you logout. That is you need to load modules every time you login or put the module load commands in your .bashrc file so they get run automatically when you login.
It is important to load only the module you need. If, for example, you were to load every module it would cause your interactive session to not work properly because it would overload key environmental variables.
Most nonstandard linux applications on our machine have modules associated with them.
There are two ways to see available modules. On a web page and by running the module avail command.
Running the command
on the the machine in question will give you a current list.
Running the commands
module purge module load StdEnv
will reset your environment to a known simple working state.
The information below describes a common happenstance with python modules:
As a general rule, and as displayed above, HPC recommends doing a module purge, then loading the StdEnv module into your environment. The StdEnv module in turn loads the following modules:
With regard to Python, after loading StdEnv, version 3.4.3 is now available to you. This is the most recent version accessible on Mio, and requires the command "python3" at the prompt to run. By default, version 2.6.6 (the system version) is in your path; the command 'python' will run version 2.6.6. The significance of this setup is that the system version of Python (2.6.6) is kept clean, while later versions (which require the appropriate module be loaded to the environment) include non-standard Python modules.
Another salient point is that the StdEnv module forces the loading of an Intel compiler module (see list above). This module links MKL libraries to the environment, which are required by all Python versions. An error such as 'ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory' implies that most likely the MKL libraries made accessible by the Intel module are missing.