Panel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
Gadi has a large array of software applications installed on its system. These are found in /apps and uses environment modules to manage them. This page will help you to learn the basics of navigating /apps and loading modules for use on Gadi. |
Panel | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Panel | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
\As you can see, this has produced a very long list of every module that is available on Gadi, 940 at this point in time. You can scroll this list and find the right module for you or you can go into more detail for specific apps by running the command
replacing This produces a list of the different versions of that particular module that are installed on gadi. |
Panel | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
You can take this a step further and get a listing of every version of each module by running the command
This listing is extensive but can be useful if your are browsing for a particular version of an module. You can also narrow these results and search this listing. If you look at the image on the right you can see that If you find a module in this list and want to focus in on it, simply run the command
For instance, running
|
Panel | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
Let's say that you wanted to load
This will automatically load the latest stable version of python, or what is considered to be the most stable version, in this case, it's python3/3.11.0. However, as mentioned above, loading a specific version of an app that you know is compatible with your code is recommended. You can do this by adding the version number after the module name, for example,
You'll notice that it has also loaded If you want to see what modules you have loaded you can use
As you can see on the right, |
Anchor | ||||
---|---|---|---|---|
|
Tip | ||
---|---|---|
| ||
LicencesSome apps will need the appropriate permissions and licences for access. You can check out live licence page to view up to date details on specific apps. If you believe you should have access to a particular app but can't access it, please speak to project lead CI or contact the NCI helpdesk. |
Panel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
Gadi won't allow you to run more than one version of a module at a time. The image on the right shows what happens when a different version of python3 is requested while python3 is already running. This error comes with a hint at the bottom too, ' To do this you run the command
This will remove the first version that you loaded and allow you to load the new one.
If you would like to see the breakdown of a module, including all its paths and locations, you can run
as you can see on the right, this gives and in-depth look into the app. |
Anchor | ||||
---|---|---|---|---|
|
Command | Notes |
---|---|
module avail <str> | List all available modulefiles in the current MODULEPATH whose pathname starts with <str> . All directories in the MODULEPATH are recursively searched for the target files that contain the modulefile magic cookie. If no argument <str> is given, all the modulefiles are displayed. |
module list | List all loaded modules in the current shell environment |
module load <app>/<version> | Load modulefile <app>/<version> into the current shell environment. |
module purge | Remove all modulefiles from the current shell environment. |
module unload <app> | Remove modulefile for application <app> in the current shell |
module whatis <app>/<version> | Display the information set up by the module-whatis commands inside the modulefile <app>/<version> . |
Anchor | ||||
---|---|---|---|---|
|
Users can edit their own modulefiles for different versions of applications in their home folder ~/privatemodules. Once the modulefile is created in the `privatemodules` folder, first run
Code Block | ||
---|---|---|
| ||
$ module load use.own |
to include `~/privatemodules` in the search path MODULEPATH
and prepare the reference counter to start tracking it, then run `module load <modulefile>` as you would load other modulefiles for applications installed on/apps
.
For example, after installing python packages `neural-structured-learning`, with the module `python3/3.7.4` and `tensorflow/2.0.0` loaded, to a site-packages folder in your home folder, such as
Code Block | ||
---|---|---|
| ||
$ module purge $ unset PYTHONPATH $ module load python3/3.7.4 $ module load tensorflow/2.0.0 $ pip3 install -v --no-binary :all: --prefix=$HOME/envs/nsl/1.1.0 neural-structured-learning==1.1.0 |
Code Block | ||
---|---|---|
| ||
#%Module1.0 prereq python3/3.7.4 prereq tensorflow/2.0.0 prepend-path PYTHONPATH [getenv HOME]/envs/nsl/1.1.0/lib/python3.7/site-packages |
so that loading the modulefile `nsl/1.1.0` gets the environment prepared for jobs need neural-structured-learning version 1.1.0 imported. For example,
Code Block | ||
---|---|---|
| ||
$ module load use.own $ module load python3/3.7.4 $ module load tensorflow/2.0.0 $ module load nsl/1.1.0 $ python3 >> import tensorflow as tf >> import neural_structured_learning as nsl >> nsl.__file__ '~/envs/nsl/1.1.0/lib/python3.7/site-packages/neural_structured_learning/__init__.py' |