提问人:Cynthia 提问时间:10/30/2023 更新时间:11/9/2023 访问量:22
'--dependendy=aftercorr:Submitted' slurm 选项无法识别
'--dependendy=aftercorr:Submitted' slurm option unrecognized
问:
我有一个脚本可以在 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,但它的信息量不是很大。我也想看看互联网上有什么,但我仍然没有。
答:
您始终如帖子中的拼写。我假设这是仅存在于 StackOverflow 消息中的拼写错误。--dependency
--dependendy
输出
$ArrayAID=$(sbatch --array=1-5 Job_0.sh)
将包含作业 ID 的位置,并将扩展为 。因此,下一行将读作类似ArrayAID
Submitted job XXXXX
XXXXX
$ArrayAID
Submitted
sbatch --array=1-5 --dependendy=aftercorr:Submitted Job_1.sh
这是一个错误,因为 Slurm 需要的是作业 ID 而不是“已提交”一词。
将选项添加到第一个:--parsable
sbatch call
$ArrayAID=$(sbatch --parsable --array=1-5 Job_0.sh)
使用该选项,将仅输出作业 ID(以及集群名称(如果存在;在这种情况下,您将不得不进一步调整该行)并包含预期的作业 IDsbatch
ArrayAID
评论
感谢您的迎新。我将能够通过在“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
评论