slurm相关内容

Slurm:提交到多个节点时出错(";slurmSted:Error:execve():Python:没有这样的文件或目录";)

我有一个bash脚本submit.sh,用于将培训作业提交到Slurm服务器。它的工作原理如下。正在做 bash submit.sh p1 8 config_file 会向分区p1的8个GPU提交一些config_file对应的任务。p1的每个节点都有4个GPU,因此此命令请求2个节点。 submit.sh的内容可以概括如下,其中我使用sbatch提交了一个Slurm脚本(trai ..
发布时间:2022-06-19 13:58:59 其他开发

如何通过使用Slurm的CUDA在GPU网格上运行多个作业

我一直致力于使用CUDA加快作业的处理时间。通常这将是相当简单的,但是我遇到了一个相当有趣的问题。我们正在使用Slurm来调度我们的作业,通过添加CUDA代码并启用编译,它将单个作业的时间减少了一半。查看GPU上的负载时会出现此问题。在启用CUDA之前,我们可以在每个节点上运行6个作业。但是,启用CUDA后,我们只能在每个GPU上的每个节点上运行2个作业。 起初,我以为我的提交脚本有问题,于 ..
发布时间:2022-04-06 22:35:52 其他开发

Slurm工作节点无法连接到主节点

我正在尝试设置一个简单的Slurm集群。设置如下:两个虚拟机,一个将是主(同时也是一个辅助),我们称其为主(ubu18gpu-210),另一个将是另一个辅助(ubu18gpu-211)。 两台计算机的名称都是hostname -s命令的确切输出。 所有要求和Slurm的安装都已在两台计算机上完成。我甚至可以在主节点上运行作业。然而,我面临的问题是,工人无法连接到主机。 我在主节点上运行 ..
发布时间:2022-03-30 22:01:28 其他开发

如何将Slurm-jobID作为输入参数传递给python?

我在使用Slurm训练一批卷积神经网络方面还是个新手。为了轻松跟踪所有训练有素的CNN,我想将Slurm的jobID作为输入参数传递给python。将其他变量作为参数传递可以很好地工作。但是,我无法访问Slurm作业ID以通过。 我已经尝试使用${SLURM_JOBID}、${SLURM_JOB_ID}、%j和%J。我还尝试将这些Slurm环境变量写入到一个变量中,然后再将其传递到Pytho ..
发布时间:2022-03-25 22:05:42 其他开发

SLURM `srun` 与 `sbatch` 及其参数

我试图了解 SLURM 的 srun 和 sbatch 命令.我会对一般性的解释感到满意,而不是对以下问题的具体答案,但这里有一些具体的混淆点,可以作为一个起点,让我了解我在寻找什么. 根据文档,srun 用于提交作业,和 sbatch 用于提交作业供以后执行,但我不清楚实际区别,它们的行为似乎相同.例如,我有一个有 2 个节点的集群,每个节点有 2 个 CPU.如果我连续执行 srun t ..
发布时间:2021-12-30 21:43:46 其他开发

如何更改 SLURM 更新输出文件 (stdout) 的频率?

我正在使用 SLURM 在超级计算机上调度作业.我已经设置了 --output=log.out 选项以将作业标准输出中的内容放入文件 (log.out).我发现该文件每 30-60 分钟更新一次,这让我很难检查我的工作状态. 知道为什么更新这个文件需要这么长时间吗?有没有办法更改设置,以便更频繁地更新此文件? 使用 SLURM 14.03.4-2 解决方案 这可能与缓冲有关. ..
发布时间:2021-08-30 19:07:36 其他开发

循环中使用的 srun: srun:作业步骤中止:等待作业步骤完成最多 32 秒

我有一个 .sh 文件要由 srun 运行,因为我想查看脚本的动态打印输出.但是通过运行 srun job_spinup.sh southfr_exp 1 & 我总是在 2 个主循环后出现错误(由于时间限制错误而超时)......这是 .sh 文件中的主要代码.顺便说一下,我想运行一个 12 个月的模型并循环 20 次(所谓的旋转 20 次).但是错误发生在第二个循环(旋转)的 11 月...这是 ..
发布时间:2021-06-04 18:36:12 服务器开发

在SLURM中的多个目录上运行一个脚本的首选方法

我最典型的用例是在多个目录(通常是R或Matlab)上运行单个脚本.我可以访问高性能计算环境(基于SLURM).到目前为止,从我的研究来看,我尚不清楚哪种方式可以更有效地利用可用的CPU/内核.我还想确保我不会不必要地占用系统资源,所以我想仔细检查以下两种方法中哪一种最合适. 方法1: 在脚本(MPI)中并行化代码. 将其包装在将脚本应用于所有目录的循环中. 将其作为SLURM脚本 ..
发布时间:2021-05-14 19:25:13 其他开发

充分利用SLURM上的所有CPU

我想在集群上运行作业.在不同的节点上有不同数量的CPU,我不知道哪个节点将分配给我.有什么适当的选项可以使作业在所有节点上创建与CPU一样多的任务? #!/bin/bash -l#SBATCH -p正常#SBATCH -N 4#SBATCH -t 96:00:00srun -n 128 ./运行 解决方案 实现目标的一个肮脏技巧是使用SLURM提供的环境变量.对于样本文件: #!/bin ..
发布时间:2021-05-14 19:25:10 其他开发

Python:集群作业管理

我在具有两个阶段的计算集群(slurm)上运行python脚本,它们是顺序的.我编写了两个python脚本,一个用于阶段1,另一个用于阶段2.每天早上,我检查所有第1阶段的工作是否都以视觉方式完成.只有到那时,我才开始第2阶段. 通过在单个python脚本中组合所有阶段和作业管理,是否存在更优雅/自动的方式?我如何知道工作是否完成? 工作流程类似于以下内容: ,而不是job_list ..
发布时间:2021-04-22 19:44:42 Python

如何确保slurm中的python提交脚本位于发出sbatch命令的位置?

我有一个python提交脚本,该脚本使用 slurm 和 sbatch 一起运行: sbatch batch.py 当我这样做时,由于我假设 batch.py​​ 进程未继承正确的环境变量,因此这些操作无法正常工作.因此,它不是从 sbatch 命令执行的地方运行 batch.py​​ ,而是从其他地方运行(我相信是/).我设法通过用bash脚本包装python脚本来解决此问题: #!/ ..
发布时间:2021-04-14 20:33:36 Python

并行执行多个作业时指定SLURM资源

根据此处的答案SLURM中的--ntasks或-n任务有什么作用?一个人可以通过sbatch的 ntasks 参数并随后执行 srun 来并行运行多个作业.问一个后续问题-像这样并行运行作业时,如何指定所需的内存量? 如果说有3个作业并行运行,每个作业需要8G内存,则可以在 sbatch 中指定24G内存(即所有作业的内存总和),或者不在中指定内存参数> sbatch ,而是为每个 srun ..
发布时间:2021-04-14 20:08:38 其他开发

在调用slurm sbatch之前为日志文件创建目录

Slurm sbatch 将stdout和stderr定向到 -o 和 -e 标志指定的文件,但是如果文件路径包含不存在的目录.有什么方法可以自动为我的日志文件创建目录? 每次手动创建这些目录的效率很低,因为我要运行每个批处理提交数十次. 让作业名称的变化形式存在于文件名而不是目录中,这会导致大量混乱且组织混乱的日志,当我需要检查作业的执行情况时必须对其进行排序. 我发现执行此操作的 ..
发布时间:2021-04-14 20:04:40 其他开发

如何获取用于SLURM作业的脚本的原始位置?

我正在使用脚本启动SLURM作业,并且脚本必须根据其位置来工作,该位置是通过 SCRIPT_LOCATION = $(realpath $ 0)在脚本本身内部获取的.但是SLURM会将脚本复制到 slurmd 文件夹并从那里开始工作,这会进一步破坏操作. 是否有任何选择可以在移动/复制Slurm作业之前获取脚本的位置? 脚本位于网络共享文件夹/storage/software_fold ..
发布时间:2021-04-14 20:03:55 其他开发

在SLURM中运行没有顶级脚本的二进制文件

在SGE/PBS中,我可以像在本地一样将二进制可执行文件提交到群集.例如: qsub -b y -cwd回声你好 将提交一个名为echo的作业,该作业会将单词"hello"写入其输出文件. 我如何提交与SLURM类似的工作.它期望该文件在第一行上具有hash-bang解释器.在SLURM上我得到了 $ sbatch回声你好sbatch:错误:这看起来不像批处理脚本.首先sbatc ..
发布时间:2021-04-14 19:56:49 其他开发

seq使用逗号作为小数点分隔符

我注意到我的一台计算机(Ubuntu LTS 14.04)上有一个奇怪的 seq 行为:它不是使用点作为小数分隔符,而是使用逗号: seq 0. 0.1 0.20,00,10,2 我的另一台PC上的相同版本的seq(8.21)给出了正常的分数(也是相同的Ubuntu版本).最奇怪的是,当我从第一台计算机上将它放入ssh时,我在远程计算机上观察到同样的不良行为.甚至从冲突机器提交到远程机器上 ..
发布时间:2021-04-14 19:56:46 其他开发

通过sbatch传递命令行参数

假设我有以下简单的bash脚本,希望通过SLURM提交到批处理服务器: #!/bin/bash#SBATCH -o"outFile" $ 1".txt"#SBATCH -e"errFile" $ 1".txt"主机名出口0 在此脚本中,我只想将 hostname 的输出写在我通过命令行控制其全名的文本文件中,如下所示: login-2:jobs $ sbatch -D`pwd` exam ..
发布时间:2021-04-14 19:44:41 服务器开发