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. ``` :::