Common tasks, workflows, and frequently asked questions are answered at an extra support site found at marcc-hpc.github.io/esc that includes extensive documentation of our available software.
MARCC uses lmod for managing environment variables. Users are able to load and unload packages to dynamically control which versions of programs, libraries, and headers are accessible. A few packages will be loaded by default, for example a default version of the gcc compilers and the SLURM resource manager.
In order to setup the environment needed to run your programs, you need to load modules in your SLURM scripts. To get started, you can navigate the module system from the login shell:
$ module list
will list the packages you have loaded, e.g.
$ module avail
will list all the packages available. Some may be restricted by group.
This command may produce a long list.
$ module keyword pyth
searches for modules with “pyth” in the name or description, which will return:
- python: python/2.7.9, python/3.4.2
$ module spider python/3.4.2
$ module whatis python/3.4.2
gives more detailed information about the module, including which other modules it may be linked to.
$ module load python/3.4.2
will load the specific module. Please note: if you do not specify a version, the default version will be loaded.
$ module unload python/3.4.2
will unload the module.
$ module save mymodules
will save your current module configuration to a file, by default in ~/.lmod.d/mymodules.
$ module restore mymodules
will restore the module configuration from a saved file. In your SLURM script, just restore saved module configuration to set up your environment.
In order to use modules to load your own software, you can write your own lua scripts, place them in
~/privatemodules and load the use.own module
$ module load use.own