gpt4 book ai didi

slurm - 在文件输出中使用 SBATCH 作业名称作为变量

转载 作者:行者123 更新时间:2023-12-03 23:16:11 27 4
gpt4 key购买 nike

使用 SBATCH,您可以使用以下语法和 %j 在自动生成的输出文件中使用作业 ID。 :

#!/bin/bash
# omitting some other sbatch commands here ...
#SBATCH -o slurm-%j.out-%N # name of the stdout, using the job number (%j) and the first node (%N)
#SBATCH -e slurm-%j.err-%N # name of the stderr, using job and first node values

我一直在寻找类似的语法来使用作业名称而不是作业 ID。有没有人可以引用 %j 中可以引用哪些其他 slurm/sbatch 值?样式语法?

最佳答案

在最新版本的 SLURM 中,有一个选项 %x 代表作业名称。
请参阅 github 上的“Slurm 17.02.1 中的更改”部分:
https://github.com/SchedMD/slurm/blob/master/NEWS

然而,在许多当前集群上,slurm 版本比那个旧,并且没有实现这个选项。你可以在你的系统上查看slurm调度器的版本:

sbatch --version

但是,有一个解决方法。
您可以创建自己的 bash 脚本,该脚本可以将名称作为参数,创建一个使用该名称作为作业名称和输出文件的提交脚本,然后提交它。例如,
您可以创建一个脚本 submit.sh:
#!/bin/bash

echo "#!/bin/bash" > jobscript.sh
echo "#SBATCH -o $1-%j.out-%N" >> jobscript.sh
echo "#SBATCH -e $1-%j.err-%N" >> jobscript.sh
echo "#SBATCH -J $1" >> jobscript.sh
#other echo commands with SBATCH options

echo "srun mycommand" >> jobscript.sh


#submit the job
sbatch jobscript.sh

然后使用与您要提供给您的作业的作业名称相对应的参数执行它:
bash ./submit.sh myJobName

关于slurm - 在文件输出中使用 SBATCH 作业名称作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50242293/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com