1. 程式人生 > >分散式計算課程補充筆記 part 1.5

分散式計算課程補充筆記 part 1.5

▶ 編寫 SLURM 指令碼

 1 #!/bin/bash
 2 #SBATCH -J name                 # 任務名
 3 #SBATCH -p gpu                  # 分割槽名,可為 cpu 或 gpu
 4 #SBATCH -N 1                    # 節點數
 5 #SBATCH --ntasks-per-node=1     # 單節點程序數
 6 #SBATCH --cpus-per-task=1       # 單程序 CPU 核心數
 7 #SBATCH -o output.log           # 標準輸出檔案
8 #SBATCH -t 1-00:00:00 # 執行最長時間 9 #SBATCH --gres=gpu:1 # 申請的 GPU 卡數,只能在 -p 為 gpu 時填寫 10 11 # 要執行的命令

▶ 檢查任務狀態

sinfo                               # 檢視各個分割槽狀態  
sinfo -lN                           # 檢視節點狀態
squeue                              # 檢視任務狀態
scancel JOBID / scancel -u username # 取消任務

 

▶ 互動式任務提交

● 申請互動式資源:① ssh 直連節點(如 ssh cu01),獲取新 bash;② 完成互動式計算任務;③ exit 退出到登入節點,再次 exit 命令退出 bash,並釋放資源

● salloc 用法(引數名與指令碼式提交相同)

salloc -N 1 -p cpu -c 8 -t 1:00:00  # 申請 1 臺 cpu 分割槽的節點,每個執行緒 8 核心,佔用時間 1 小時

 

▶ module 相關

module avail                # 檢視所有軟體模組
module list                 # 檢視當前已經載入的模組
module add m1 m2 m3 ...     # 新增模組
module remove m1 m2 m3 ...  # 刪除模組
module purge                # 刪除所有
module swap m1 m2           # 交換模組(m1 → m2)

 

▶ conda 是 anaconda 軟體的包管理器和環境管理器

conda create -n ENVNAME                     # 建立 conda 環境
source activate ENVNAME                     # 啟用環境
(ENVNAME) conda install package1 = x.y.z    # 在已經啟用的環境裡安裝包
(ENVNAME) pip install package1 == x.y.z     # 安裝了 python 後可用 pip
(ENVNAME) source deactivate                 # 退出環境
conda env remove -n ENVNAME                 # 刪除環境(當前環境不能處於啟用狀態)