...
Axon uses a system of environmental modules, specifically using a piece of software called lmod, which allows people to specify the version of the program they want to run enabling . This enables the cluster to seamlessly have multiple versions of a single program. Below is an example of how it works.environment modules work:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
[aa3301@axon ~]$ python --version Python 2.7.5 [aa3301@axon ~]$ which python /usr/bin/python [aa3301@axon ~]$ ml anaconda3-2019.03 [aa3301@axon ~]$ python --version Python 3.7.3 [aa3301@axon ~]$ which python /share/apps/anaconda3-2019.03/bin/python |
In the example above when we login log in and run python Python we get the default system python, but if we run ml (which can also be run as module load) and load anaconda we get a much newer version with a bunch of modules already installed.
Running the ml (or module list) will show you the currently loaded modules, and ml av (or module avail) will show you the available modules to load:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
[aa3301@axon ~]$ ml Currently Loaded Modules: 1) anaconda3-2019.03 [aa3301@axon ~]$ ml av ------------------------------------------------------------------------------------------------------- /share/modulefiles/manual ---------------------------------------------------------------------------------------------------- anaconda3-2019.03 (L) cuda@10cuda/9.02.13088 cuda@10cuda/10.1.168 (D) cuda@9.2.88cudnn/7.5.1-10.0 cudnn@7.3.0 cudnn@7cudnn/7.56.1.34-10.1 (D) kilosort2 matlab/2017b matlab/2018b (D) cuda/9.0.176 cudnn@7.6.1.34-10.0 cuda/10.0.130 cudnn/7.3.0 cudnn@7cudnn/7.6.1.34-10.0 gcc/4.9.1 matlab/2017a matlab/2018a Where: L: Module is loaded D: Default Module Use "module spider" to find all possible modules. Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys". |
Running the ml (or module list) will show you the currently loaded modules, and ml av (or module avail) will show you the available modules to load.The ml alias is convenient shortcut to most commands. If you type ml and press tab it will show you all the possible completion the same is true of the module load command:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
[aa3301@axon ~]$ ml add cuda@10.0.130cuda/10.1.168 cudnn/7.5.1-10.0 gcc/4.9.1 load matlab/2018b show unuse cudnn@7.3anaconda3-2019.03 cuda/9.0.176 cudnn@7cudnn/7.6.1.34-10.10 keywordhelp purge matlab save purge spidersl unuse update avail whatis anaconda3-2019.03 cuda@10cuda/9.12.16888 cudnn@7cudnn/7.56.1.34-10.01 keyword matlab/2017a restore spider delete use cuda list cudnn restore delete show kilosort2 swap matlab/2017b updaterm avail cuda@9.2.88 swap cudnn@7.6.1.34-10.0 help whatis cuda/10.0.130 cudnn/7.3.0 load gcc rm list sl matlab/2018a save unload useunload [aa3301@axon ~]$ moduleml load cud cuda@10.0.130 cuda cuda@10cuda/10.1.168 cuda@9cuda/9.2.88 cudnn@7cudnn/7.3.0 cudnn@7cudnn/7.56.1.34-10.0 cuda/10.0.130 cudnn@7.6.1.34cuda/9.0.176 cudnn cudnn/7.5.1-10.0 cudnn@7 cudnn/7.6.1.34-10.1 |
...