串行程序提交说明
我们介绍一个 hello world 程序的串行程序提交说明。
# 准备工作
- 登录超算系统系统,并切换到相应的工作目录。
- 编写并编译 hello world 程序,并将可执行文件 a.out 放到工作目录。
# hello world 程序
编写一个文本文件 hello.c,内容如下:
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
1
2
3
4
5
2
3
4
5
# 编译 hello world 程序
gcc hello.c -o a.out
1
# 提交作业
假设用户可执行文件为 a.out,编写提交脚本 sub.sh 如下:
#!/bin/bash
#SBATCH -n 1 -p debug
yhrun a.out
1
2
3
2
3
提交批处理命令如下:
yhbatch sub.sh
1
修改
示例中的 -p debug
参数,请根据实际情况进行计算分区名称的调整
注意
如果使用的 -p 分区为抢占式分区,那么当申请 -n 1 个核时,会申请到 1个 计算节点。这时如果只运行串行任务会导致资源浪费!建议参数手册其他部分内容尝试批量串行任务提交的方法,或者将串行任务提交到共享式分区。
# 运行结果
如果作业正常运行结束,会生成一个 slurm-xxxx.out 文件,内容如下:
Hello, world!
1