快速作业命令
命令格式
快速作业命令用于简化作业提交,无需编写完整的 Slurm 脚本
通用格式:
bash
bjmurun-分区名称 节点数 CPU核心数(或GPU卡数) "命令集合"
TIP
引号规则
- 单个命令时,可以不加引号。
- 多条命令时,需要用 " 将命令集合括起来。
命令补全
- 输入 bjmu 后按 Tab 键 可快速补全命令。
CPU 节点
单节点单CPU核心任务
bash
bjmurun-cnlong 1 1 "python preprocess.py input.fasta > result.txt"
- 在
cnlong
分区申请 1 个节点、1 个 CPU 核心 - 执行
preprocess.py
脚本,对输入的 input.fasta 进行预处理 - 输出结果写入
result.txt
单节点多CPU核心任务
bash
bjmurun-cnlong 1 8 "gmx_mpi mdrun -s topol.tpr -ntmpi 8 -deffnm md_run"
- 在
cnlong
分区申请 1 个节点、8 个 CPU 核心 - 使用 GROMACS 运行分子动力学模拟 (
mdrun
) - 输入文件:
topol.tpr
,输出前缀:md_run
跨节点任务
bash
bjmurun-cnshort 2 64 "mpirun -np 128 lmp_mpi -in in.lammps -log out.log"
- 在
cnshort
分区申请 2 个节点,每个节点 64 个 CPU 核心,共 128 核心 - 使用 LAMMPS (lmp_mpi) 运行分子动力学模拟
- 输入脚本:in.lammps,日志保存到 out.log
Slurm 任务提交示例
下面演示如何使用 快速作业命令 bjmurun
提交一个任务,并进一步学习如何修改和提交 Slurm 脚本。
1. 准备工作目录
进入个人 lustre1
目录,并新建一个测试文件夹:
bash
cd lustre1
mkdir test
cd test
2. 使用 bjmurun
提交简单任务
在 cn-long
分区申请 1 个节点、1 个核心,执行命令 pwd
:
bash
bjmurun-cnlong 1 1 pwd
系统返回
shell
Submitted batch job 64694
提交成功后,会生成以下文件:
- job.srp104636 : 自动生成的 Slurm 作业脚本
- pwd104636_64694.err : 标准输出文件
- pwd104636_64694.out : 标准错误文件(通常为空)
查看输出:
bash
cat pwd104636_64694.out
结果:
bash
/lustre1/skl/skl_lcy/test
3. 查看 Slurm 脚本内容
打开自动生成的job.srpXXXXXX
bash
cat job.srp104636
内容示例:
bash
#!/bin/bash
#SBATCH -J pwd104636 # 作业名称
#SBATCH -p cn-long # 队列/分区 cn-long
#SBATCH -N 1 # 节点数 1
#SBATCH -o pwd104636_%j.out # 标准输出文件(自动带 JobID)
#SBATCH -e pwd104636_%j.err # 标准错误输出文件
#SBATCH --no-requeue # 不自动重新调度
#SBATCH -A skl_g1 # Slurm 账户名
#SBATCH --qos=sklcnl # QoS 限制
#SBATCH -c 1 # CPU 核心数
pkurun pwd # 实际执行命令
TIP
注意:系统会在运行路径下生成 job.srpXXXXXX
脚本,你可以直接编辑它,再用 sbatch
提交。
4. 修改脚本并重新提交
用编辑器修改 job.srpXXXXXX
,在最后增加几个常用命令:
bash
pwd # 打印工作目录
hostname # 打印节点名称
date # 打印当前时间
sleep 30 # 挂起 30 秒,方便调试
修改好的脚本
bash
#!/bin/bash
#SBATCH -J pwd104636
#SBATCH -p cn-long
#SBATCH -N 1
#SBATCH -o pwd104636_%j.out
#SBATCH -e pwd104636_%j.err
#SBATCH --no-requeue
#SBATCH -A skl_g1
#SBATCH --qos=sklcnl
#SBATCH -c 1
pwd
hostname
date
sleep 30
重新提交:
bash
sbatch job.srp104636
系统输出:
bash
Submitted batch job 64699
5. 查看运行结果
bash
cat pwd104636_64699.out
示例结果:
bash
/home/skl/skl_lcy/lustre1/test
c03b01n01
2025年 08月 24日 星期日 10:59:57 CST
胖节点
使用格式:
bash
bjmurun-fat2way 1 1 "pwd && hostname && date && sleep 30" #其他同计算节点
GPU节点
使用格式:
bash
bjmurun-分区名 节点数 GPU卡数 "命令"
执行示例统一用 nvidia-smi
,可直接运行验证 GPU 分配。
L40 分区
bash
bjmurun-l40 1 1 nvidia-smi
- 单节点 1 卡任务
- 每节点最多 4 张 L40 GPU,显存 48GB
L40S 分区
bash
bjmurun-l48 1 1 nvidia-smi # 单节点 1 卡任务
bjmurun-l48 1 5 nvidia-smi # 单节点 5 卡任务
bjmurun-l48 2 16 nvidia-smi # 两节点 16 卡任务
- 每节点最多 8 张 L48 GPU,显存 48GB
A800 分区
bash
bjmurun-a800 1 8 nvidia-smi
- 单节点 8 卡任务
- 每节点最多 8 张 A800 GPU,显存 80GB
- 建议任务至少申请 3 张卡及以上
- 单卡任务请尽量提交到其他 GPU 分区,避免资源碎片化
H100 分区
bash
bjmurun-h100 1 4 nvidia-smi # 单节点 4 卡任务
bjmurun-h100 2 16 nvidia-smi # 两节点 16 卡任务
- 每节点最多 8 张 H100 GPU,显存 80GB