问题标签 [sbatch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7744 浏览

openmpi - 我如何在 Slurm 下运行 Open MPI

我无法Open MPI通过Slurm.Slurm-script

一般来说,我能够获取主机名并Open MPI在我的机器上运行。


但是,如果我通过 slurm-script 执行相同的操作,则mpirun hostname返回空字符串,因此我无法运行mpirun -n 1 bin/ua.B.x inputua.data

slurm-script.sh:


我收到的错误:

0 投票
1 回答
876 浏览

slurm - sbatch 将计算节点发送到“耗尽”状态

在我们的小型集群中新安装和配置的计算节点上,我无法使用批处理脚本和“sbatch”命令提交 slurm 作业。提交后,请求的节点变为“drained”状态。但是,我可以使用“srun”以交互方式运行相同的命令。

作品:
srun -p debug --ntasks=1 --nodes=1 --job-name=test --nodelist=node6 -l echo 'test'

不工作:
sbatch test.slurm
test.slurm

它给了我:

我必须恢复节点。

所有节点都运行 Debian 9.8,使用 Infiniband 和 NIS。我确保所有节点都具有相同的配置、软件包版本和运行的守护进程。所以,我看不出我错过了什么。

0 投票
1 回答
1591 浏览

slurm - SLURM:更改正在运行的阵列作业的最大同时运行任务数

我有一组数组作业如下:

这会将同时运行的任务数限制为 5。作业现在正在运行,我想将此数字更改为 10(即我希望我会运行sbatch --array=1:100%10 ...)。

阵列作业的文档提到您可以scontrol在作业开始后更改选项。不幸的是,不清楚这个选项的变量名是什么,我不认为它列在 sbatch 命令的文档

任何指针都受到好评。

0 投票
1 回答
1755 浏览

cluster-computing - SLURM - 我如何确定作业正在使用哪些特定 CPU?

我正在开发一种工具来监控当前在集群上运行的作业(19 个节点,40 个核心)。有没有办法确定 slurm 队列中的每个作业正在使用哪个特定的 cpu?我正在使用“pidstat”、“mpstat”和“ps -eFj”获取数据,这些数据告诉我哪些进程正在特定核心上运行,但无法将这些进程 ID 与 Slurm 使用的作业 ID 相关联。'scontrol show job' 提供了很多信息,但没有具体的 cpu 分配。有没有办法做到这一点?

下面是收集数据的代码:

0 投票
1 回答
719 浏览

slurm - 错误时自动重新运行使用 sbatch --array 提交的作业

我正在以数组形式提交作业。由于难以诊断 gpu 内存问题,有时一项作业会出错。只需重新运行作业即可成功。

我想做的是捕捉这个错误,记录它,然后把作业放回 slurm 的队列中重新运行。如果这不可能通过数组作业完成,那很好,使用数组不是必需的(尽管它是首选)。

我尝试过使用 sbatch --rerun,但这似乎并没有达到我想要的效果(我认为此选项用于在 slurm 检测到硬件错误后重新运行,或者在作业运行时重新启动节点 -这不是我的工作的情况)。

任何建议都很受欢迎。

0 投票
0 回答
221 浏览

bash - 具有依赖关系的批处理作业数组

我正在运行一个作业数组,我希望该作业(运行脚本 job.sh)具有依赖关系,在前一个数组作业开始之前它不能进入​​调度程序,我似乎无法计算找出如何编码

这将用于扩大规模,以便它可以在更大的时间/内存/数组大小上运行 1000 个版本的代码。

0 投票
1 回答
2198 浏览

bash - 提交多个作业时,如何让 sbatch 等到最后提交的作业*正在运行*?

我正在运行一个数值模型,其参数位于“parameter.input”文件中。我使用sbatch提交模型的多次迭代,参数文件中的一个参数每次都改变。这是我使用的循环:

sed行更改参数文件中的参数。该 run_model.sh文件运行模型。

问题:根据可用资源,作业可能会立即运行或等待几个小时。在我的默认循环中,如果 60 秒不足以找到作业n运行的资源,则参数文件将在作业n挂起时被修改,这意味着作业n将使用错误的参数运行。(在提交作业n+1之前,我不能等待作业n完成,因为每个作业都需要几天时间才能完成)

如何强制批处理等待提交作业n+1直到作业n运行?

我不确定如何创建一个until循环来获取作业n的状态并等到它更改为“正在运行”,然后再提交作业n+1。我已经尝试了一些东西,但我使用的服务器还托管了另外 150 个人的工作,我担心过多的实验可能会产生一些问题......

0 投票
1 回答
2816 浏览

arrays - 将参数传递给 slurm 脚本

我正在使用 slurm 脚本在集群上运行用于 Matlab 计算的数组。每个脚本都使用一个数组来循环一个 matlab 参数。

1)是否可以创建一个shell脚本来循环另一个变量?
2) 我可以将变量传递给 slurm 脚本吗?

例如,我的 slurm 文件目前看起来像

我经常需要运行这个数组来处理许多不同的文件。这意味着我将提交作业(sbatch exampleScript.slurm),编辑文件,将“Person24”更新为“Person25”,然后重新提交作业。当我有大量文件要处理时,这非常低效。

我可以制作一个将变量传递给 slurm 脚本的 shell 脚本吗?例如,像这样:

外壳脚本 (myshell.sh)

Slurm 脚本 (myscript.slurm)

我可以使用 sbatch myshell.sh 之类的东西有效地提交所有作业

谢谢!

0 投票
1 回答
665 浏览

bash - 你能帮我在 Slurm 中并行运行任务吗?

我是 Slurm 的新手,我试图启动多个可执行文件以并行运行(在下面的示例中,它只是 date 命令)。我希望他们在不同的时间开始,间隔很短的时间延迟。

我做了一些尝试,试图在 sruns 之间添加额外的行,例如“srun sleep 5s &”或使用下面显示的“--begin”选项。特别是,“--begin”选项失败说“--begin 被忽略,因为节点已经分配”。

并行模块似乎在我们的集群中不可用。

我得到的输出如下:

我想获得的是以下输出:

谢谢您的帮助

0 投票
1 回答
1757 浏览

ubuntu - 如何按顺序运行多个 .sbatch 脚本

我必须为集群运行多个 sbatch slurm 脚本。说,我有 50 个 sbatch 文件,我在终端中按顺序运行它们(正在使用 Ubundu),如下所示:

我想简化这 50 个不同的命令以在单个命令中运行。由于我是使用终端和集群的新手,我真的不知道如何解决这个问题。请建议我执行此操作的一些解决方案(我想我需要使用一些 for 循环语句,但我怀疑其中的语法)。我完全糊涂了,一些相关文件也可能会有所帮助。

谢谢你。

更新:我尝试了以下脚本:

但是,它并没有创造单独的工作。只有单个作业作为整体提交。所以,这对我不起作用。

谢谢。

更新:
以下脚本有效:

import os
os.system ("sbatch filename1.sbatch")
os.system ("sbatch filename2.sbatch")