# 4. HPC Slurm 工作派送排程
###### tags: `課程教學`
> 課程重點: 學習如何派送 台灣杉二號 slurm job
## :memo: Where do I start?
## :a:**01** 撰寫台灣杉slurm 排程函示庫
請修改下方 計畫代號
* #SBATCH -A GOV109189
### 登入台灣杉二號主機
請將以下文字檔案儲存成 job.slurm
```
#!/work/u00cjz00/binary/bash5.0/bin/bash
#SBATCH -A GOV109189 ### project number, Example MST109178
#SBATCH -J _t2demo_ ### Job name, Exmaple jupyterlab
#SBATCH -p gp4d ### Partition Name, Example ngs1gpu
#SBATCH --nodes=1 ### Nodes, Default 1, node number
#SBATCH --ntasks-per-node=1 ### Tasks, Default 1, per node tasks
#SBATCH -c 4 ### Cores assigned to each task, Example 4
#SBATCH --gres=gpu:1 ### GPU number, Example gpu:1
#SBATCH --time=0-1:00:00 ### Runnung time, days-hours:minutes:seconds or hours:minutes:seconds
#SBATCH -o genai_%j.out ### Log folder, Here %j is job ID
#SBATCH -e genai_%j.err ### Log folder, Here %j is job ID
## 您的程式部分
##### -> 執行程式01
sleep 120
##### -> 執行程式02
singularity exec --nv /work/u00cjz00/nvidia/pytorch_22.12-py3.sif python3 -c 'import torch; print(torch.cuda.is_available())'
```
## :a:**02** 派送工作
```
## 建立 genai_log目錄, 切換至genai_log目錄, 並派送工作, log會以genai_xxxxxx.out 以及 genai_xxxxxx.err 模式呈現
mkdir -p ~/genai_log
cd ~/genai_log
sbatch /work/u00cjz00/slurm_jobs/demo/demo_case/job.slurm
```
## :a:**03** 觀看自己派送工作執行狀況
```
## 觀看執行狀況
squeue -u $(whoami)
```
## :a:**04** 刪除JOB
```
## 刪除JOB, 接續步驟三產出的 job id
scancel $jobID
```
## :a:**05** 全部JOB刪除
```
## 全部JOB刪除, 列出 PID 並砍掉 Process
squeue -u $(whoami) | grep -v JOBID | awk '{print $1}' | xargs scancel
```
## :movie_camera: slurm操作操作影片
{%youtube Xl1liXv14As %}