永远相信美好的事情终将发生

苏州超算中心作业调度系统简单使用

苏州超算中心采用LSF作业调度系统,现将LSF作业调度系统的简单使用方法记录于此:

交互式提交作业

在shell窗口中执行bsub 命令,然后即可输入作业内容:

1
2
3
4
5
6
bshub> -n numCPUs
bshub> -q queueName
bshub> -J jobName
bshub> -o out.%J
bshub> -e err.%J
python test.py

Ctrl+D结束输入即可提交作业。

命令行提交作业

1
2
3
4
5
6
7
8
9
10
11
12
13
bsub -n numCPUs -q queueName -J jobName -o out.%J -e err.%J python test.py

CPU相关选项:
-R "span[hosts=1]" #指定所有cpu核心在同一节点
-R "span[ptile=4]" #指定每个节点使用的cpu核心数

GPU相关选项:
-gpu num=1 #使用一块GPU资源
-gpu num=1:mode=exclusive_process #使用并独占一个GPU资源
-gpu "num=2:nvlink=yes: gmodel=TeslaV100" #使用NVLink连接的两块Tesla V100的GPU资源
-gpu "num=4:gtile=2" #使用4块GPU资源,每块GPU搭配两块CPU资源
-gpu "num=2:gmem=100M" #使用两块内存100MB的GPU资源
-gpu "num=1:mode=shared" #使用一个共享GPU上的1个GPU。

脚本提交作业

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bsub < jobFile 

cat jobFlie

#!/bin/bash
#BSUB -J jobName
#BSUB -q queueName
#BSUB -n numCPUs
#BSUB -R "span[hosts=1]"
#BSUB -gpu num=1:mode=exclusive_process
#BSUB -o out.%J
#BSUB -e err.%J
echo $LSB_HOSTS

python test.py

作业管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
bqueues -u userName -w      # 查看队列, -w 表示 wide format,可显示更多的信息
bjobs # 查看作业
bjobs -w
bjobs -l JOBID
bkill JOBID # 取消作业

bstop JOBID # 挂起作业,作业执行状态由 RUN 转变为 SUSPEND。
bresume JOBID # 继续执行已挂起的作业,作业执行状态由SUSPEND 转变为 RUN

bpeek JOBID # 查看作业的标准输出

lsrun -m nodeID commands # 在指定节点运行 commands 命令
lsload # 查看负载
bhosts # 查看cpu负载

Ref: