提交计算作业
在提交作业前,请明确两个概念:交互式作业和批处理作业。
顾名思义,交互式作业是一种允许用户在作业运行期间与作业实时交互的作业类型。这种作业类型类似于直接登录到计算节点的远程会话,用户可以在作业运行时输入命令、查看输出、调试程序等。而批处理作业则是在后台运行、无需用户实时干预的作业类型。用户提前将所有指令写入一个脚本文件,并提交该脚本以在指定的资源上自动执行。
提交交互式作业
示例:
srun --ntasks=1 --cpus-per-task=4 --mem=4G --time=01:00:00 --pty bash
这条命令请求1个作业,4个CPU,4GB内存,1小时的运行时间,并启动一个交互式bash shell。
提交批处理作业
示例:
假设有一个名为job_script.sh的批处理脚本,其内容如下:
#!/bin/bash
#SBATCH --job-name=example_job
#SBATCH --output=output.txt
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=4G
#SBATCH --time=01:00:00
module load my_software
srun my_program arg1 arg2
用户可以通过以下命令提交作业:
sbatch job_script.sh
Fsched 会自动在资源可用时调度该作业,并将输出保存到output.txt文件中。