我使用 SLURM来使用一些计算集群,它有 -ntasks
或 -n
。我显然已经阅读了它的文档(http://slurm.schedmd.com/sbatch.html) :
Satch 不启动任务,它请求分配资源 并提交一个批处理脚本。此选项通知 Slurm 控制器 在分配内运行的作业步骤将启动的最大值为 为任务编号并提供足够的资源。默认值为 每个节点一个任务,但请注意—— cpus-per-task 选项将 更改此默认值。
具体的部分我不明白它的意思是:
在分配内运行将启动最多数量的任务,并 提供足够的资源。
我有几个问题:
sbatch my_batch_job.sh
中一样在 satch 下运行 bash 脚本。不知道任务是什么意思。-n, --ntasks=<number>
的参数多次运行相同的 bash 脚本。然而,我显然在集群中测试了它,用 --ntask=9
运行了一个 echo hello
,并且我期望 satch 将对 stdout 回显 hello 9次(这是在 slurm-job_id.out
中收集的,但是令我惊讶的是,我的 echo hello 脚本只执行了一次,那么这个命令到底做了什么呢?看起来它什么也没做,或者至少我看不到它应该做什么。我确实知道 -a, --array=<indexes>
选项适用于多个作业。那是另一个话题。我只是想知道 --ntasks
应该做什么,理想情况下应该使用一个示例,这样我就可以在集群中测试它。