我试图弄清楚“任务”的概念在 SLURM 中意味着什么。我在 SO 上找到了这个答案,它建议我使用以下作业脚本:
#!/bin/bash
#SBATCH --ntasks=2
srun --ntasks=1 sleep 10 &
srun --ntasks=1 sleep 12 &
wait
Run Code Online (Sandbox Code Playgroud)
作者说这项工作总共需要 12 秒才能运行,因为这两个步骤sleep 10是sleep 12并行运行的,但我无法重现这一点。
如果我将上述文件另存为slurm-test并运行
sbatch -o slurm.out slurm-test,
Run Code Online (Sandbox Code Playgroud)
我看到我的作业运行了 23 秒。
这是以下的输出sacct --format=JobID,Start,End,Elapsed,NCPUS -S now-2minutes:
JobID Start End Elapsed NCPUS
------------ ------------------- ------------------- ---------- ----------
645514 2021-06-30T11:05:38 2021-06-30T11:06:00 00:00:22 2
645514.batch 2021-06-30T11:05:38 2021-06-30T11:06:00 00:00:22 2
645514.exte+ 2021-06-30T11:05:38 2021-06-30T11:06:00 00:00:22 2
645514.0 2021-06-30T11:05:38 2021-06-30T11:05:48 00:00:10 2
645514.1 2021-06-30T11:05:48 2021-06-30T11:06:00 00:00:12 …Run Code Online (Sandbox Code Playgroud) slurm ×1