问题标签 [slurm]
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.
submit - SLURM 和连续工作
我尝试使用 SLURM 设置连续作业但失败了。
在当前工作结束时,我成功地为下一个工作创建了文件夹和输入文件。我也可以去那个文件夹,但是当我提交它时立即停止。作业被提交,但没有任何反应,它只是停止而没有任何错误消息。
这是我如何进行的:
有谁知道如何从 SLURM 脚本提交 SLURM 作业?
我用 LSF 做这个没问题。
谢谢,
埃里克。
bash - 设置 SGE 以在不同节点上运行具有不同输入文件的可执行文件(更新:有一些问题)
我知道我之前从这个链接问过同样的问题:
设置 SGE 以在不同节点上运行具有不同输入文件的可执行文件
就像我在那个帖子中所说的那样,我之前在 SLURM 系统上使用过这种东西没有任何问题,因为所有内容都包含在一个提交脚本中。但是,改编自上面链接中的上一个问题,这是我对 SGE 的方法(我知道这是一种不好的做法,但我真的想不出更好的方法......)
该作业通过 4+N 个脚本链接:run.sh
、submitSerial.sh
、wrap.sh
、temp.sh
和job{1-N}.sh
run.sh
: 主要作业脚本
submitSerial.sh
和temp.sh
:我需要先串行执行这个可执行文件,并希望集群等到完成后才能继续执行run.sh
. 由于run.sh
不在集群环境中(即没有 Grid Engine 参数),而是仅存在于登录节点中,这将temp.sh
立即生成并通过 qsub 运行一个串行脚本。由于我不知道如何检查 qsub 工作是否完成,所以我不得不以愚蠢的方式去做。想知道有没有更好的检查方法?
wrap.sh
和job{1-N}.sh
:这是在脚本开头生成的。这是我上次提问的部分,我也使用 sleep 来检查 qsub 状态
这种方法的问题是,一旦我运行run.sh
,我就无法在后台执行它,并且必须单独执行,qsub
如果集群已满,则存在潜在问题。我想知道是否有只有qsub
像 SLURM 方法这样的解决方案?我只想提交作业并等待它完成,而不是让脚本提交多个 qsub 作业而不知道是否有任何未知作业在中间死去(而且我从来不知道它死在哪里)。
请在这件事上给予我帮助!非常感谢您的帮助!非常感谢您!
slurm - 如何在排水状态下“排水” slurm 节点
使用sinfo
它显示 3 个节点处于drain
状态,
我应该使用哪个命令行来释放这些节点?
python - Python h5py:“无法创建文件”,看似随机
我在 slurm 集群上调用 h5py 的 python 脚本有一个非常奇怪的问题。它几乎总是运行到完成就好了。但是,大约运行 50-100 次后,它将返回“IOError:无法创建文件(文件可访问性:无法打开文件)”。这是有问题的代码行:
我不是要创建一个已经存在的文件。我尝试在其中创建文件的目录对于此脚本的每个实例都是相同的,无论它是否失败。唯一改变的变量是作业被分配到的节点。据我所知,所有节点都运行相同版本的所有包。我在一年多前编写了这段代码,并且从没有问题到最近一直使用它很多次,所以我倾向于认为严格来说这不是这个脚本有错误的问题。
slurm - 是否有向 SLURM(类似于 LSF)提交许多工作的“单线”?
我可以向 SLURM 提交“单行”吗?
使用bsub
LSF 和标准 Linux 实用程序xargs
,我可以轻松地提交一个单独的作业来解压缩目录中的所有文件:
使用 SLURM,我认为srun
或者sbatch
会起作用,但无济于事:
我bsub
从 LSF中看到与SLURM 中的列表等效sbatch
,但到目前为止,它们似乎仅等效于提交脚本文件:
有没有其他方法可以使用 SLURM 提交“单线”作业?
cluster-computing - slurm gpu分配的代码流程
有谁知道代码流如何在 SLURM 中分配 GPU?我已经检查过了,发现 CUDA_VISIBLE_DEVICES 环境变量在代码中的任何地方都没有更新。那么它实际上是如何在代码中完成的呢?
我的目标是使用环境变量进行分配添加新的硬件支持。
memory - 在作业运行期间更改内存资源
是否可以在作业执行期间更改 --mem-per-cpu 值?
在我的脚本中,我有一个非常消耗内存的任务(~50Gb),但运行时间非常有限(~30 分钟)。之后,必须运行几个运行时间较长(约 12 小时)的小内存消耗任务。我有 300 多个类似的工作要使用 --array=1-300 提交。那么是否可以在第一个消耗内存的任务之后减少所需的内存以允许提交其他作业?
谢谢
slurm - 如何从 SLURM 获取详细的作业运行信息(例如,由 LSF 为“标准输出”生成的信息)?
bsub
与 LSF 一起使用时,该-o
选项提供了很多详细信息,例如作业开始和结束的时间以及作业占用了多少内存和 CPU 时间。使用 SLURM,我得到的只是在没有 LSF 的情况下运行脚本所得到的相同标准输出。
例如,给定这个 Perl 6 脚本:
提交如下:
结果文件test.o34380
:
和文件test.e34380
:
使用 LSF,我会在标准输出文件中获得各种详细信息,例如:
更新:
一个或多个-v
标志可sbatch
提供更多初步信息,但不会更改标准输出。
linux - slurm 脚本给出“找不到命令”
我正在尝试向 slurm 提交一个在输入文件上运行 m4 的脚本。m4 安装在我们的集群上,如果我自己运行脚本,一切都会按预期工作。但是,当我通过 slurm 脚本向 slurm 提交运行时,我得到一个错误。
这是我要运行的脚本(名为 m4it.sh)。
[请注意,我正在打印 PATH 和 SHELL 以尝试调试。]
这是我的 slurm 脚本:
成功提交到 slurm 通过
当它执行时,我的 m4it.err 日志文件中出现以下错误:
PATH 和 SHELL 变量(由 m4it.slurm 和 m4it.sh 脚本打印到 m4it.out)是相同的。当我登录时,PATH 包含我的 PATH,而 SHELL 是 /bin/bash,正如预期的那样。
即使我在 PATH 中的目录中包含指向 m4 可执行文件的符号链接,我仍然会收到此错误。此外,问题不只是 m4。该脚本会将命令“apropos”报告为未知命令,即使它在命令行上运行良好。该脚本可以“cd”和“ls”就好了。
我已经检查了读/写/执行权限。
产生以下结果:
似乎 m4it.sh 脚本在其上执行的节点与前端节点不同,并且没有遇到某种信息(环境变量或路径)。我还尝试使用参数 --export=ALL 导出所有设置,如下所示:
但这也不起作用(结果相同)。有人可以在这里帮忙吗?
perl - 我需要通过 Perl API 向 SLURM 提交作业的“job_desc_msg_t”格式是什么?
SLURM的Perl API表明,使用 API 提交作业需要我们给它一个“作业描述”($job_desc
或$job_desc_msg
),它具有结构job_desc_msg_t
,但不说明job_desc_msg_t
是什么。
更新:我在slurm.h 从第 1162 行开始找到它,所以我猜我需要传入具有类似结构的哈希。