Skip to content

快速作业命令

命令格式

快速作业命令用于简化作业提交,无需编写完整的 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

由北京大学智慧药物平台提供支持