Skip to content

计算任务提交

任务提交有图形界面提交和命令行提交两种方式,熟悉Linux操作系统和超算使用的用户可以采用命令行提交~

1 方式一:图形界面提交

1.1 软件加载

以cp2k为例,打开桌面上的 软件中心,找到软件 CP2K,点击 立即使用

如果没找到需要的软件,请联系超算工作人员 ~

1.2 参数设置

点击 立即使用,随后会弹出软件参数设置界面,按如下流程进行参数设置:

  1. 选择计算队列。计算队列是由一系列计算节点组成的集合。 其中,带有 expr 后缀的队列属于测试队列,其最多只能使用 2 个节点,且任务最长运行时间仅限 1 小时。没有 expr 后缀的队列为付费用户使用队列,运行时间无限制,节点数限制为 30 个(可根据实际需要进一步提高)。
  2. 选择工作文件夹。此为待计算算例所在的文件夹。
  3. 自定义一个任务名,以便对不同任务加以区分。
  4. 设置计算需要的核数。
  5. 选择软件版本。
  6. 选择要运行的程序,如 cp2k.poptcp2k.pmspcp2k.pmsp.dbg 等。
  7. 选择要计算的文件,即选择算例所在目录中要运行的 xx.inp 文件。
  8. 点击 提交 按钮,提交计算任务。

首次使用过后,桌面上会产生软件的快捷模式,后续直接点击这个快捷方式即可打开软件参数设施界面。

1.3 任务查看

通过图形界面提交计算任务后会自动跳转到 任务中心,在任务中心页面能够对计算任务状态、基本信息进行查看,还能停止计算任务。任务中心 页面,也可以通过双击桌面上 任务中心 图标打开。 任务中心 有两个 tab 页面:

  • “进行中”:正在运行的任务,或者一分钟内结束任务
  • “已完成”:已经结束的任务,一分钟同步一次 计算任务最右侧操作栏的按钮功能可区分为:
  • 第一个按钮:打开计算任务所在的目录
  • 第二个按钮:打开程序输出日志
  • 第三个按钮:打开任务详细信息
  • 第四个按钮:停止计算任务

2 方式二:命令行提交

2.1 任务提交

2.1.1 编写脚本

新建脚本 run.sh,输入以下内容:

1
2
3
4
5
6
#! /bin/bash
#SBATCH -p intel                   
#SBATCH -n 2 
#SBATCH -o job.out

mpirun -n 2 ./a.out    
  • #!/bin/bash ,固定内容,不用修改
  • #SBATCH -p intel,向调度系统申请intel队列的计算资源。调整队列名,即更换队列运行计算任务。
  • #SBATCH -n 2,申请2个核
  • #SBATCH -o job.out,程序的运行输出保存在job.out文件,该文件文件名可以随意修改
  • mpirun -n 2 ./a.out 程序自身的运行命令

2.1.2 查看分区计算资源使用情况

[user@login01 tmp]$ sinfo 
PARTITION    AVAIL  TIMELIMIT  NODES  STATE NODELIST
intel*        up     infinite   700  idle qhcn[002-800]
intel_expr    up       1:00      2   mix qhcn[819-820]
amd_expr      up       1:00      1   idle qhdn092

节点状态包括:

drain(节点故障),alloc(节点在用),idle(节点可用),down(节点下线),mix(节点部分占用,但仍有剩余资源)

2.2 提交计算任务

执行sbatch run.sh 提交计算任务

[user@login01 tmp]$ sbatch run.sh
Submitted batch job 3656

2.3 任务管理

2.3.1 查看任务状态

执行squeue -u 用户名查看计算任务运行状态

1
2
3
[user@login01 tmp]$ squeue -u user 
             JOBID PARTITION     NAME     USER   ST   TIME   NODES NODELIST(REASON)
              3656   intel       run.sh   user   R    0:23   1     qhcn001
  • JOBID,任务编号
  • ST,任务状态,作业状态包括 R(正在运行),PD(正在排队),CG(即将完成),CD(已完成)
  • TIME,运行时间
  • NODES,占用节点(也称服务器,下同)个数
  • NODELIST,占用服务器的编号

2.3.2 取消计算任务

执行 scancel 任务编号 停止计算任务,“任务编号” 通过 squeue -u 用户名 可以查到。

scancel  3656

2.3.3 计算任务详细信息查看

执行 scontrol show job 任务编号 可以查到计算任务的工作目录、输出文件等详细信息

scontrol show job 3656

2.4 查看任务输出

计算任务运行起来后,执行 tail -f job.out 可 以查看程序的实时输出,执行 Ctrl+C 退出查看

1
2
3
[user@login01 tmp]$ tail -f job.out 
Hello world from processor bn060, rank 896 out of 1280 processors
Hello world from processor bn060, rank 897 out of 1280 processors

任务提交详细使用指南,请参考附录:slurm 任务调度系统使用指南