是否可以通过 sbatch 将作业名称分配给 SLURM 数组中的单独工作人员?

问题描述 投票:0回答:1

默认情况下,当将 SLURM 作业作为数组提交时,数组中的所有作业共享相同的作业名称。在文档中(此处:https://slurm.schedmd.com/job_array.html),它显示数组中的每个作业都可以通过

scontrol
单独设置其名称(在“Scontrol命令使用”部分中描述) ”)。

这可以直接通过

sbatch
脚本完成吗?

slurm
1个回答
0
投票

我刚刚创建了一个帐户,因为我正在尝试执行此操作并且确实找到了解决方案。 您可以使用 scontrol 更改作业的名称,语法如下:

scontrol update job=<job_id> JobName=<new_name>

您可以手动执行此操作,但也可以从阵列作业中自动设置作业的名称,从而自动为阵列中的每个作业分配不同的名称。

我发现这很有用,因为我主要在不同的目录中运行计算,如果我有一项作业比其他作业运行的时间长得多,我希望能够快速检索它的运行位置以查看发生了什么。 当然,您可以根据自己的喜好设置其他名称作为您的工作名称。

在我的例子中,我将 scontrol 命令添加到通过数组运行的脚本中,以便获取每个目录的以下名称:“job_name - 目录”。作业 ID 和作业名称可以从环境变量中检索。

scontrol update job=$SLURM_ARRAY_JOB_ID JobName="$SLURM_JOB_ID - $folder"

编辑:我按照 jordi 的建议更新了命令,我的脚本中的命令是正确的,但显然在此处回复时复制了错误的变量。

© www.soinside.com 2019 - 2024. All rights reserved.