以下是 Slurm 并行化方案的两种区别:
方案1
运行 sbatch script.sh
#!/bin/bash
#SBATCH --ntasks=8
## more options
srun echo hello
这条命令会调用8个运行echo hello
的任务。
方案二 我曾经使用数组任务完成过类似的事情。
#!/bin/bash
#SBATCH --job-name=arrayJob
#SBATCH --output=arrayJob_%A_%a.out
#SBATCH --error=arrayJob_%A_%a.err
#SBATCH --array=1-8
#SBATCH --time=01:00:00
#SBATCH --ntasks=1
# Print this sub-job's task ID
echo hello
这两种方案有什么区别吗?它们似乎都能达到相同的目的。