1
- To demonstrate, let's load the `ansys ` module and then use the `module list `
2
- command to show which modules we currently have loaded in our environment.
3
- ([ANSYS](https://www.ansys.com/en-gb) is an engineering simulation product.)
1
+ To demonstrate, let's use `module list ` . `module list ` shows all loaded
2
+ software modules.
4
3
5
4
```
6
- {{ site.remote.prompt }} module load ansys
5
+ {{ site.remote.prompt }} module list
7
6
```
8
7
{: .language-bash}
9
8
10
9
```
11
- ansys/2019.r3(73):ERROR:151: Module 'ansys/ 2019 .r3' depends on one of the
12
- module (s ) ' giflib/5.1.1'
13
- ansys/2019 .r3 (73 ):ERROR :102 : Tcl command execution failed:
14
- prereq giflib/5.1 .1
10
+ Currently Loaded Modulefiles:
11
+ 1 ) gcc- libs/4.9.2 10) nano/ 2.4 .2 19 ) compilers/intel/ 2018 /update3
12
+ 2 ) cmake/3.21.1 11) nedit/ 5.6 - aug15 20 ) mpi/intel/ 2018 /update3/ intel
13
+ 3 ) flex/2.5.39 12) dos2unix/ 7.3 21 ) default- modules/2018
14
+ 4 ) git/2.32.0 13) giflib/ 5.1 .1 22 ) python /3.9 .10
15
+ 5 ) apr/1.7.0 14) emacs/ 28.1 23 ) openblas/0.3.7-serial/ gnu- 4.9 .2
16
+ 6 ) apr- util/1.6.1 15) tmux/ 3.3 a 24 ) python3 /3.9
17
+ 7 ) subversion/1.14.1 16) mrxvt/ 0.5 .4 25 ) python3 /recommended
18
+ 8 ) screen/4.9.0 17) userscripts/ 1.4 .0
19
+ 9 ) gerun 18 ) rcps- core/1.0 .0
15
20
```
16
21
{: .output}
17
22
18
- This shows that the default `ansys ` module will not run because it first needs
19
- `giflib/5.1 .1 ` to be loaded. Some HPC systems will automatically load
20
- dependencies like this, but at the time of writing (June 2020) UCL's Myriad
21
- does not.
22
-
23
- Let's load the `giflib ` module:
24
-
25
23
```
26
- {{ site.remote.prompt }} module load giflib
24
+ {{ site.remote.prompt }} module load matlab
25
+ {{ site.remote.prompt }} module list
27
26
```
28
27
{: .language-bash}
29
28
30
29
```
31
- giflib/5.1.1(18):ERROR:151: Module 'giflib/ 5.1 .1 ' depends on one of the
32
- module (s ) ' gcc-libs/4.9.2'
33
- giflib/5.1 .1 (18 ):ERROR :102 : Tcl command execution failed: prereq gcc- libs
30
+ Currently Loaded Modulefiles:
31
+ 1 ) gcc- libs/4.9.2 10) nano/ 2.4 .2 19 ) compilers/intel/ 2018 /update3
32
+ 2 ) cmake/3.21.1 11) nedit/ 5.6 - aug15 20 ) mpi/intel/ 2018 /update3/ intel
33
+ 3 ) flex/2.5.39 12) dos2unix/ 7.3 21 ) default- modules/2018
34
+ 4 ) git/2.32.0 13) giflib/ 5.1 .1 22 ) python /3.9 .10
35
+ 5 ) apr/1.7.0 14) emacs/ 28.1 23 ) openblas/0.3.7-serial/ gnu- 4.9 .2
36
+ 6 ) apr- util/1.6.1 15) tmux/ 3.3 a 24 ) python3 /3.9
37
+ 7 ) subversion/1.14.1 16) mrxvt/ 0.5 .4 25 ) python3 /recommended
38
+ 8 ) screen/4.9.0 17) userscripts/ 1.4 .0 26 ) xorg- utils/X11R7.7
39
+ 9 ) gerun 18 ) rcps- core/1.0.0 27) matlab/ full/r2023a/ 9.14
34
40
```
35
41
{: .output}
36
42
37
- Here, we see that the `giflib ` module itself also has a dependency, `gcc- libs ` .
38
- So we have to load that first, then load `giflib ` , and then finally load
39
- `ansys ` .
43
+ So in this case, loading the `matlab ` module also loaded `xorg- utils/X11R7.7 ` , software
44
+ for supporting a graphic user interface. Let's try unloading the `matlab ` package.
40
45
41
46
```
42
- {{ site.remote.prompt }} module load gcc- libs/4.9 .2
43
- {{ site.remote.prompt }} module load giflib/5.1 .1
44
- {{ site.remote.prompt }} module load ansys
47
+ {{ site.remote.prompt }} module unload matlab
48
+ {{ site.remote.prompt }} module list
45
49
```
46
50
{: .language-bash}
47
51
48
52
```
49
- ~/Scratch/.config is configured
50
- ...
51
- ...
52
- ~/.mw doesn't exist - creating
53
+ Currently Loaded Modulefiles:
54
+ 1 ) gcc- libs/4.9.2 10) nano/ 2.4 .2 19 ) compilers/intel/ 2018 /update3
55
+ 2 ) cmake/3.21.1 11) nedit/ 5.6 - aug15 20 ) mpi/intel/ 2018 /update3/ intel
56
+ 3 ) flex/2.5.39 12) dos2unix/ 7.3 21 ) default- modules/2018
57
+ 4 ) git/2.32.0 13) giflib/ 5.1 .1 22 ) python /3.9 .10
58
+ 5 ) apr/1.7.0 14) emacs/ 28.1 23 ) openblas/0.3.7-serial/ gnu- 4.9 .2
59
+ 6 ) apr- util/1.6.1 15) tmux/ 3.3 a 24 ) python3 /3.9
60
+ 7 ) subversion/1.14.1 16) mrxvt/ 0.5 .4 25 ) python3 /recommended
61
+ 8 ) screen/4.9.0 17) userscripts/ 1.4 .0
62
+ 9 ) gerun 18 ) rcps- core/1.0 .0
53
63
```
54
64
{: .output}
55
65
56
- If you now use the `module list ` command, you should see these three modules
57
- included in the list.
58
-
59
- To unload a specific module, e.g. `ansys ` , run the command
60
- `module unload ansys ` . (On some systems, this will also unload the modules it
61
- depends on. Currently this is not the case with Myriad.)
62
-
63
- If we wanted to unload everything at once (all modules), we could run
64
- `module purge ` (unloads everything).
66
+ So using `module unload ` "un-loads" a module, and depending on how a site is
67
+ configured it may also unload all of the dependencies (in our case it does
68
+ not). If we wanted to unload everything at once, we could run `module purge `
69
+ (unloads everything).
65
70
66
71
```
67
72
{{ site.remote.prompt }} module purge
@@ -73,3 +78,7 @@ If we wanted to unload everything at once (all modules), we could run
73
78
No Modulefiles Currently Loaded.
74
79
```
75
80
{: .output}
81
+
82
+ Note that `module purge ` is informative. It will also let us know if a default
83
+ set of "sticky" packages cannot be unloaded (and how to actually unload these
84
+ if we truly so desired).
0 commit comments