2.Module 指令範例說明
===
## ml 操作說明
可以使用 ml 取代 module 的指令,以下列舉最常使用指令的使用方式,皆以 $ ml 作為範例:
### module list
---
:::success
列出已套用的 modules
`$ ml / ml list`
```
[user@cbi-lgn01 ]$ ml list
No modules loaded
[user@cbi-lgn01 ]$ ml list
Currently Loaded Modules:
1) cuda/12.2
```
:::
### module avail / ml av
---
:::success
列出所有可以被載入的module資訊
`$ ml avail / ml av`
```
[user@cbi-lgn01 ]$ ml av
---------- /work/HPC_software/LMOD/public/modulefiles ----------------------------
cmake/3.24.2 hwloc/2.7.2 miniconda3/24.11.1 os pmix/4.2.9 singularity/3.7.1
---------- /work/HPC_software/LMOD/nvidia/modulefiles -----------------------------
cuda/11.6 cuda/12.2 cuda/12.4 (D) nvhpc-hpcx-cuda12/24.7 nvhpc/24.7 openmpi/4.1.6 ucx/1.16.0
...
```
:::
### module spider
---
::::success
::: spoiler 搜尋所有可能的模組
`$ ml spider`
```
[user@cbi-lgn01 ]$ ml spider openmpi
------------------------------------
openmpi: openmpi/4.1.6
------------------------------------
Description:
MPI implementation
This module can be loaded directly: module load openmpi/4.1.6
Additional variants of this module can also be loaded after loading the following modules:
cuda/12.2
Help:
This module loads the OpenMPI
```
```
[user@cbi-lgn01 ]$ ml spider openmpi/4.1.6
----------------------------------------
openmpi: openmpi/4.1.6
----------------------------------------
Description:
MPI implementation
This module can be loaded directly: module load openmpi/4.1.6
Additional variants of this module can also be loaded after loading the following modules:
cuda/12.2
Help:
This module loads the OpenMPI
```
:::
::::
### module show / display
---
:::success
::::spoiler 顯示模組設定內容
`$ ml show / ml display`
```
[user@cbi-lgn01 ]$ ml show cuda/12.2
------------------------------------
/work/HPC_software/LMOD/nvidia/modulefiles/cuda/12.2.lua:
------------------------------------
help([[CUDA is a parallel computing platform and programming model
created by NVIDIA and implemented by the GPUs that they produce.
]])
whatis("Name: CUDA Toolkit")
whatis("Version: 12.2")
whatis("Category: cuda")
whatis("Description: CUDA is a parallel computing platform and programming model")
whatis("URL: https://developer.nvidia.com/cuda-toolkit")
family("cuda")
prepend_path("MODULEPATH","/work/HPC_software/LMOD/nvidia/dependencies/cuda-12.2")
setenv("CUDA_HOME","/work/HPC_software/LMOD/nvidia/packages/cuda-12.2")
setenv("CUDA_PATH","/work/HPC_software/LMOD/nvidia/packages/cuda-12.2")
setenv("CUDA_ROOT","/work/HPC_software/LMOD/nvidia/packages/cuda-12.2")
prepend_path("PATH","/work/HPC_software/LMOD/nvidia/packages/cuda-12.2/bin")
prepend_path("CPATH","/work/HPC_software/LMOD/nvidia/packages/cuda-12.2/include")
prepend_path("LD_LIBRARY_PATH","/work/HPC_software/LMOD/nvidia/packages/cuda-12.2/lib64")
prepend_path("LIBRARY_PATH","/work/HPC_software/LMOD/nvidia/packages/cuda-12.2/lib64")
```
:::
### module load / add
---
:::success
載入指定的 modules
`$ ml load / ml add`
```
[user@cbi-lgn01 ]$ ml load cuda/12.2
-----------------
loading CUDA 12.2
-----------------
```
```
[user@cbi-lgn01 ]$ ml load openmpi/4.1.6
-------------------------------------
loading OpenMPI 4.1.6 with UCX 1.16.0
setting envs:
SLURM_MPI_TYPE=pmi2
UCX_TLS=all
UCX_MEMTYPE_CACHE=n
-------------------------------------
```
:::
### module save / s
---
:::success
::::spoiler 儲存模組組合
`$ ml save / ml s`
```
[user@cbi-lgn01 ]$ ml list
Currently Loaded Modules:
1) openmpi/4.1.6 2) cuda/12.4
[user@cbi-lgn01 ]$ ml save openmpi_cuda
Saved current collection of modules to: "openmpi_cuda"
```
:::
### module restore / r
---
:::success
::::spoiler 讀取儲存的模組組合
`$ ml restore / ml r`
```
[user@cbi-lgn01 ]$ ml
No modules loaded
[user@cbi-lgn01 ]$ ml r openmpi_cuda
Restoring modules from user's openmpi_cuda
-------------------------------------
loading OpenMPI 4.1.6 with UCX 1.16.0
setting envs:
SLURM_MPI_TYPE=pmi2
UCX_TLS=all
UCX_MEMTYPE_CACHE=n
-------------------------------------
-----------------
loading CUDA 12.4
-----------------
[user@cbi-lgn01 ]$ ml
Currently Loaded Modules:
1) openmpi/4.1.6 2) cuda/12.4
```
:::
### module savelist
---
:::success
列出已儲存的模組組合
`$ ml savelist`
```
[user@cbi-lgn01 ]$ ml savelist
Named collection list :
1) openmpi_cuda
```
:::
### module unload / del / rm
---
:::success
移除讀取的模組設定
`$ ml unload / ml del / ml rm `
```
[user@cbi-lgn01 ]$ ml
Currently Loaded Modules:
1) openmpi/4.1.6 2) cuda/12.4
[user@cbi-lgn01 ]$ ml del cuda/12.4
[user@cbi-lgn01 ]$ ml
Currently Loaded Modules:
1) openmpi/4.1.6
```
:::
### module purge
---
:::success
清除所有讀取的模組設定
`ml purge`
```
[user@cbi-lgn01 ]$ ml
Currently Loaded Modules:
1) openmpi/4.1.6 2) cuda/12.4
[user@cbi-lgn01 ]$ ml purge
[user@cbi-lgn01 ]$ ml
No modules loaded
[user@cbi-lgn01 ]$
```
:::
### module help
---
:::success
查詢模組設定說明
`$ ml whatis / ml help`
```
[user@cbi-lgn01 ]$ ml whatis cuda/12.2
cuda/12.2 : Name: CUDA Toolkit
cuda/12.2 : Version: 12.2
cuda/12.2 : Category: cuda
cuda/12.2 : Description: CUDA is a parallel computing platform and programming model
cuda/12.2 : URL: https://developer.nvidia.com/cuda-toolkit
[user@cbi-lgn01 ]$ ml help cuda/12.2
------------- Module Specific Help for "cuda/12.2" --------------------
CUDA is a parallel computing platform and programming model
created by NVIDIA and implemented by the GPUs that they produce.
```
:::