'--dependendy=aftercorr:Submitted' slurm 选项无法识别

'--dependendy=aftercorr:Submitted' slurm option unrecognized

提问人:Cynthia 提问时间:10/30/2023 更新时间:11/9/2023 访问量:22

问:

我有一个脚本可以在 slurm 中运行。该脚本适用于 job-array aftercorr,或者至少这是我希望它做的事情。基本上,它运行第一个 Job-array 没有任何问题,但是,它无法识别命令 --dependendy=aftercorr。我对 slurm 很陌生,你能帮我理解这个错误的原因吗?是否由于操作系统没有可用的命令而导致错误?或者我的脚本中出现错误?

以下是 bash 脚本的主行,然后是我收到的错误。

$ArrayAID=$(sbatch --array=1-5  Job_0.sh)
echo "Job-Array (script_0) id: ${ArrayAID}"

sbatch --array=1-5 --dependendy=aftercorr:$ArrayAID Job_1.sh

输出:

sbatch: unrecognized option '--dependendy=aftercorr:'
Try "sbatch --help" for more information

辛西娅

我尝试在交互模式下运行它,并在 bash 中搜索 --help,但它的信息量不是很大。我也想看看互联网上有什么,但我仍然没有。

职位 slurm

评论


答:

1赞 damienfrancois 10/30/2023 #1

您始终如帖子中的拼写。我假设这是仅存在于 StackOverflow 消息中的拼写错误。--dependency--dependendy

输出

$ArrayAID=$(sbatch --array=1-5  Job_0.sh)

将包含作业 ID 的位置,并将扩展为 。因此,下一行将读作类似ArrayAIDSubmitted job XXXXXXXXXX$ArrayAIDSubmitted

sbatch --array=1-5 --dependendy=aftercorr:Submitted Job_1.sh

这是一个错误,因为 Slurm 需要的是作业 ID 而不是“已提交”一词。

将选项添加到第一个:--parsablesbatch call

$ArrayAID=$(sbatch --parsable --array=1-5  Job_0.sh)

使用该选项,将仅输出作业 ID(以及集群名称(如果存在;在这种情况下,您将不得不进一步调整该行)并包含预期的作业 IDsbatchArrayAID

评论

0赞 Cynthia 10/30/2023
多亏了@damienfrancois,我错过了捕获 ArrayAID 的可解析选项。:)
0赞 damienfrancois 11/3/2023
如果您觉得这回答了您的问题,请考虑接受它 谢谢
0赞 Cynthia 10/30/2023 #2

感谢您的迎新。我将能够通过在“sbatch command”中添加“–parsable”选项来解决这个问题,使用此选项将返回作业 ID,其值可以存储在 shell 变量中以供以后使用。

因此,在下面的第一中,我将分配给 slurm 管理器的相应作业数组 ID 存储在 ArrayAID 变量中,因为我请求从索引 1 到 5 的 5 个任务 (--array=1-5),我将按任务获得一个作业数组 ID

然后,在第 4 行,我正在评估依赖项的类型,在本例中,我设置了只有在相关作业成功完成后才能提交下一个作业的条件。该条件有很多选项,因此您需要检查想要拥有哪种依赖项。

我编写了一些带有示例的脚本,解释了有关作业数组依赖项的更多详细信息,请随时探索或让我知道与此存储库相关的任何内容。我对此也很陌生。

https://github.com/cyntsc/Slurm_dependecies

问候 CSC公司

以下是新行:

ArrayAID=$(sbatch --parsable --array=1-5  Job_0.sh)
echo "Job-Array. ID: ${ArrayAID}"
echo ""
sbatch --array=1-5 --dependency=aftercorr:${ArrayAID} Job_1.sh

评论

0赞 Community 11/2/2023
正如目前所写的那样,你的答案尚不清楚。请编辑以添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以在帮助中心找到有关如何写出好答案的更多信息。