分散式計算課程補充筆記 part 1.5
阿新 • • 發佈:2019-01-04
▶ 編寫 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 # 刪除環境(當前環境不能處於啟用狀態)