- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过 sbatch_run.sh
脚本使用不同 参数多次运行 python 脚本 main.py
,如下所示:
#!/bin/bash
#SBATCH --job-name=sbatch_run
#SBATCH --array=1-1000
#SBATCH --exclude=node047
arg1=10 #arg to be change during runs
arg2=12 #arg to be change during runs
python main.py $arg1 $arg2
参数在 sbatch 运行的 bash 文件中编码。我担心如果我多次一个接一个运行 sbatch_run.sh
但在每次运行期间更改 arg1 和 arg2 的值,这可能会导致我的运行出错.例如,如果我这样做:
sbatch sbatch_run.sh # with arg1=10 and arg2=12
然后在我更改 sbatch_run.sh
但再次运行文件后立即,如下所示:
sbatch sbatch_run.sh # with arg1=69 and arg2=666
会将我的运行设置为使用最后一个运行(即 arg1=69
和 arg2=666
)而不是每个运行都有自己的参数。
我确信如果我在 main.py 中对参数进行硬编码,然后运行相同的 sbatch 脚本但更改 main.py 它将运行最后一个。我想知道如果我更改 sbatch_run.sh
脚本是否也是这种情况。
如你所知,我确实尝试过这个实验,运行 1000 个脚本,然后一些脚本进入队列并发出休眠命令,然后更改 sbatch_run.sh
。这似乎并没有改变我的运行方式,但是,如果我错了,这太重要了,不能偶然出错,我想确保我也问过。
为了记录我跑了:
#!/bin/bash
#SBATCH --job-name=ECHO
#SBATCH --array=1-1000
#SBATCH --exclude=node047
sleep 15
echo helloworld
echo 5
然后将 echo 更改为 echo 10 或 echo byebyeworld。
最佳答案
当 sbatch 运行时,Slurm 将提交脚本复制到其内部数据库;您可以通过以下实验说服自己:
$ cat submit.sh
#!/bin/bash
#SBATCH --hold
echo helloworld
--hold
用于确保作业不会启动。提交:
$ sbatch submit.sh
然后修改提交脚本:
$ sed -i 's/hello/bye/' submit.sh
$ cat submit.sh
#!/bin/bash
#SBATCH --hold
echo byeworld
现在使用 control show job
查看 Slurm 计划运行的脚本:
$ scontrol show -ddd job YOURJOBID
JobId=******* JobName=submit.sh
[...]
BatchScript=
#!/bin/bash
#SBATCH --hold
echo helloworld
[...]
尽管原始脚本发生了变化,但它并没有发生变化。
[编辑] Slurm 的最新版本使用 scontrol write batch_script -
而不是 scontrol show -dd job
来显示提交脚本。
关于bash - 在运行期间更改发送到 slurm 中的 sbatch 的 bash 脚本是个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38778844/
我正在尝试发送一个 sbatch 文件以在系统的 200 个内核中运行代码。我的代码是 #!/bin/sh #SBATCH --job-name=sm #Job name #SBATCH --mail
我想问一下是否可以将全局系统变量传递给#SBATCH 标签。 我想做一些类似的事情 批处理文件 #!/bin/bash -l ARG=64.dat NODES=4 TASK_PER_NODE=8 NP
我有一个可执行文件,它需要多个选项和多个文件输入才能运行。可以使用可变数量的内核调用可执行文件以运行。 例如。可执行文件 -a -b -c -file fileA --file fileB ... -
我创建了一些 slurm 脚本,然后尝试使用 sbatch 执行它们。但是输出文件更新不频繁(可能每分钟更新一次)。 有没有办法改变 sbatch 中的输出缓冲延迟?我知道在这种情况下会使用 stdb
我正在 SLURM 集群上运行管道,并且出于某种原因,许多较小的文件(大小在 500 到 2000 字节之间)按照 slurm-XXXXXX.out 的行命名。 (其中 XXXXXX 是一个数字)。我
我有一个程序,当它收到 SIGUSR1 时, 写一些输出并退出。我正在尝试获取 sbatch在超时之前通知这个程序。 我使用以下方式对程序进行排队: sbatch -t 06:00:00 --sign
我必须为集群运行多个 sbatch slurm 脚本。说,我有 50 个 sbatch 文件,我在终端中按顺序运行它们(正在使用 Ubundu),如下所示: sbatch file1.sbatch
SLURM(特别是sbatch)是否应该自动将用户脚本(而不是作业配置脚本)复制到集群的计算节点执行?从我的登录节点执行 sbatch 文件后,输出文件是在我的一个计算节点上创建的,但包含以下内容:
使用 SBATCH,您可以使用以下语法和 %j 在自动生成的输出文件中使用作业 ID。 : #!/bin/bash # omitting some other sbatch commands here
是否有某种方法可以为 sbatch 配置替代默认目录(当前目录除外)把文件slurm-%j.out (或 slurm-%A_%a.out )它在 -o 时生成没有指定? 我的目标是有一种方便/低维护的
当我开始工作时 sbatch在多节点系统上,一些进程正在相关节点上启动。 我怎样才能找出在这些节点上运行的进程(进程 ID),因为 sbatch跑? 我检查了 slurm 文档,但没有找到任何显示相关
假设我有以下简单的 bash 脚本,我想通过 SLURM 将其提交到批处理服务器: #!/bin/bash #SBATCH -o "outFile"$1".txt" #SBATCH -e "errFi
我想将参数传递到 sbatch 命令行。 RHO_COR.sh #!/bin/bash #SBATCH -o job-%A_task.out #SBATCH --job-name=paral_cor
Slurm sbatch将 stdout 和 stderr 指向 -o 指定的文件和 -e标志,但如果文件路径包含不存在的目录,则无法这样做。有没有办法自动为我的日志文件创建目录? 每次手动创建这些目
我有一个问题,我需要启动相同的脚本但输入参数不同。 假设我有一个脚本 myscript.py -p -i ,我需要考虑 N 不同的 par_values (在 x0 和 x1 之间)和 M 试验,
使用 PBS 调度程序可以以这种方式启动没有脚本的批处理命令: qsub -l select=1:ncpus=12:mem=112GB -l walltime=00:30:00 --/usr/bin/
我们使用 Slurm 资源管理器将作业发送到集群。最近,我们将 Slurm 版本从 15 升级到 18。 升级后遇到以下问题: 因此,我发送了需要单核并且应该使用 ~100% cpu 的作业。然而,当
用户是否可以为作业提交设置一组默认参数?特别是,如果我的所有作业都通过电子邮件向我提供状态更新,而不必将此指令添加到每个作业脚本中,那就太好了。 最佳答案 我做了一个包装脚本: #!/bin/bash
我已在 2 节点集群上安装了 Slurm。两个节点都是计算节点,其中一个也是 Controller 。我能够同时成功运行多个作业的 srun 。我正在运行 GPU 作业,并已确认我可以使用 srun
我想使用 sbatch 运行 python 脚本,但是,似乎使用 sbatch 运行 python 脚本的唯一方法是拥有一个 bash 脚本,然后运行该 python 脚本。就像拥有 batch_ma
我是一名优秀的程序员,十分优秀!