【发布时间】:2021-08-27 16:02:23
【问题描述】:
#!/bin/bash
#SBATCH -p RM-shared
#SBATCH -n 4
#SBATCH -t 24:00:00
#SBATCH --array=1-
我正在尝试启动一个阵列,并且对于阵列中的每个任务,我希望它在 RM 共享分区上使用 4 个内核。我这样做是否正确,或者这是否指定阵列输出的所有任务都必须共享 4 个核心?
我将为此提出一个单独的问题,但由于某种原因,当我运行它时,$SLURM_ARRAY_TASK_ID 变量为空......
当我跑步时
echo "My SLURM_ARRAY_TASK_ID: " $SLURM_ARRAY_TASK_ID
在我的标题设置作业后,它返回
My SLURM_ARRAY_TASK_ID:
【问题讨论】:
-
我意识到我应该使用
#SBATCH --cpus-per-task=4而不是-n 4我认为(?)但是,这并没有解决我的 $SLURM_ARRAY_TASK_ID 为空问题 -
Resources: (1) hpc-support.lboro.ac.uk/slurm-nodes-cpus-tasks.html (2) login.scg.stanford.edu/faqs/cores “然而,Slurm 根据上下文和 Slurm 命令交替使用术语 core 和 cpu 使这变得复杂。--cpus-per -taks= 例如实际上是指定每个任务的核心数。”