问题标签 [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 投票
1 回答
285 浏览

cluster-computing - 在 Slurm 集群上运行批处理作业

所以我现在花了几个小时试图弄清楚这一点,并希望得到任何帮助。

我要做的是使用 slurm --array0-654 运行批处理作业

我希望每个作业步骤运行 8 个线程。

我可以访问集群上的 11 个节点,每个节点都有 32 个线程,但我似乎无法正确配置 SBATCH。它似乎要么每个节点运行一个作业,要么在所有节点上运行 200 多个作业。

我尝试了许多不同的配置,想知道是否有人有一些建议。

0 投票
0 回答
2394 浏览

slurm - 如何让 SBATCH 通过电子邮件发送标准输出?

我想让 slurm 系统myprogram在计算完成后通过电子邮件发送输出。所以我写了SBATCH如下

邮件系统报告

我如何构建邮件命令以让主题行$SLURM_JOB_NAME和文件中的邮件内容STDOUT,例如JOB${SLURM_JOBID}.out在我的情况下?

0 投票
1 回答
1349 浏览

slurm - 使用 slurm JobID 作为输入?

是否可以使用 JobID 作为您提交的脚本的输入?

我知道您可以使用 %j 使用 JobID 命名日志文件,但是是否可以执行类似的操作,例如

make-dir.sh 在哪里

就目前而言,它将打印 %j,但我希望它打印 JobID。

谢谢。

0 投票
1 回答
427 浏览

slurm - 在 SLURM 中与 mpi 任务一起运行“监控”任务

我有一个 mpi 工作,我使用 sbatch 脚本在 slurm 中运行,它看起来像:

我想监视“myprog”进程的内存/cpu 使用情况和其他一些行为。我已经编写了一个简单的脚本(称为“监视器”),它可以做到这一点,但我很难理解如何使用 sbatch 在每个分配的节点上运行它的一个副本,同时作为“myprog”。

我想我需要将上面的内容修改为:

但我很困惑a)这意味着“监视器”是否会在后台运行,b)我如何控制“监视器”的运行位置。

0 投票
1 回答
4814 浏览

mpi - /usr/bin/modulecmd: No such file or directory

I'm using sbatch to submit my job.
Command line mpirun --version gives:

Intel(R) MPI library for Linux* OS, Version 5.0 Build 20140507
Copyright (C) 2003-2014, Intel Corporation. All rights reserved.

So I think I'm working with Intel mpi.
Following the instructions: submitting an MPI job using Intel MPI, I write my script like this:

mycc is the executable I get after compiling source files with mpicc.
Then I use command sbatch -p partitionname -J myjob script.sh, my job failed with exitcode 127:0. The slurm-jobid.out file says that(leave aside the set locale warning):

/usr/share/Modules/init/sh: line 2: /usr/bin/modulecmd: No such file or directory /tmp/slurmd/job252624/slurm_scirpt: line 10: mpirun: command not found

But I have checked and /usr/bin/modulecmd file does exist.
Any suggestion is aprreciated.

Edit
I also asked the question here.

I have removed the source statement and module load one.
I tried to load the module on the log in node before submitting my job. But there is something wrong. It says that:

moduleCmd_Lad.c(204): Error: 105: Unable to locate a modulefile for 'intel'

I use module avail command to see what modules are available:

---------/usr/share/Modules/modulefiles-------------------

dot module-info mpich2-x86_64 use.won

module-cvs modules null

---------/etc/modulefiles---------------------------------

compat-openmpi-psm-x86_64 compat-openmpi-x86_64

Forgive me for the messy formatting.

Solved

The problem is finally solved. My final script.sh is like this:

Then use command sbatch -p partitionname -J myjob script.sh to submit the job.

0 投票
1 回答
1309 浏览

python - 如何通过配置文件在 SLURM 中使用 sbatch

我想用 sbatch 运行 python 脚本,但是,用 sbatch 运行 python 脚本的唯一方法似乎是有一个 bash 脚本,然后运行 ​​python 脚本。就像拥有batch_main.sh

然后运行:

这个问题是我希望有一个单独的参数配置文件(因为它通常不是单个数字或参数)并且还能够使用数组选项。此外,我通常同时运行多个不同的 sbatch 作业(具有不同的配置),因此如果更改配置文件不会使不同的 sbatch 运行相互妨碍(因为如果作业排队然后配置文件稍后更改,它将运行最新的配置文件,而不是我运行 sbatch 时的配置副本)。为了解决这个问题,我发现当我运行一个 sbatch 脚本时,SLURM 实际上会将提交脚本复制到它的内部数据库中(我在询问后发现了它:在运行期间更改发送到 sbatch 的 bash 脚本是个坏主意?)。因此,我实际上决定将配置硬编码到 bash 提交脚本中(使提交脚本本质上是配置文件)。这样我只需编辑提交脚本,然后运行文件。但是,我想停止这种情况,因为这让我用 bash 编写,我想不惜一切代价避免。

理想情况下,我想运行一个直接运行 python 的 sbatch。

由于这可能是不可能的,我想知道还有哪些其他选项可以解决这个问题。例如,是否可以让 slurm 将不同的文件(如 python 配置文件)复制到其内部数据库,以便在将作业排队时运行我确切想要运行的作业?(请注意,运行 sbatch 作业然后更改配置文件不是这样做的方法,因为这可能会在更改配置文件时引起问题,slrum 将读取配置的最新副本而不是配置的副本作业运行时)。或者我还有什么其他选择?我真的坚持编写 bash 还是我可以做其他事情来处理 python 中的配置而不是其他一些奇怪的 hack?

总的来说,我还想知道人们在现实世界中为此做了什么,或者对此有什么好的做法/标准。

0 投票
0 回答
713 浏览

python - 为什么当我将 sbatch 与 SLURM 一起使用时,即使它说它当前的文件系统,python 也不会导入我的库?

我试图使用一个简单的脚本,在使用 SLURM 和 sbatch 时导入库命名空间,但是,我无法做到这一点,因为它找不到库(即使 pip list 显示它已安装在我的环境中)。

我正在运行的脚本非常简单:

它只是显示了库的安装位置。当我在 SLURM(集群)的头节点上运行它时,python ns_test.py它会正确打印:

当我srun python ns_test.py再次打印上述内容时。但是,当我使用 sbatch 时,它会打印(到 slurm 日志)以下神秘的代码行:

这真的很神秘,因为它确实说图书馆在那里!但是,当我将 import 语句与 sbatch 一起使用时,它找不到它。为什么会这样?我该如何解决这个问题?

0 投票
1 回答
221 浏览

bash - Capture a sbatch file output

I want to be able to run a command inside the bash file and save it in somefile.txt

I am running my script the following way:

  • sbatch file.sh and inside this file I have a terminal command
0 投票
2 回答
4051 浏览

mpi - SLURM:如何在同一计算节点或不同节点上并行运行不同的可执行文件?

目标:

  1. 学习如何通过 sbatch 作业提交来运行或共同调度或执行可执行文件/应用程序
  2. 使用 srun 或 mpirun

研究:

代码片段:

手册页:

0 投票
0 回答
1083 浏览

tensorflow - 如何使用正确配置的参数服务器在 SLURM 集群上运行 Tensorflow?

我很幸运能够访问我大学的 SLURM 驱动的 GPU 集群。我一直试图让 Tensorflow 在集群节点中运行,但到目前为止我还没有找到任何文档。(我在大学里交谈过的每个人都曾使用 CPU 节点或使用单个 GPU 节点来运行它。

我在这里从上一个问题中找到了一个很好的文档。不幸的是,它相当不完整。我发现的所有其他分布式示例(例如这个示例)都依赖于显式指定参数服务器。

当我尝试使用 SO question 中的代码运行它时,我似乎可以正常工作,直到它无法连接到不存在的参数服务器或在调用 server.join 并且没有向 sbatch outfile 提供打印输出(其中我明白应该发生)。

简而言之,我的问题是如何在 SLURM 集群上启动 Tensorflow?从批量阶段开始。这是我第一次在 AWS 上处理除 SPARK 之外的分布式计算框架,我很想了解更多关于如何正确配置 Tensorflow 的信息。如何指定 tf_hostlist 例如服务器中的哪一项作为参数服务器?或者,我可以像在其他示例中看到的那样,使用 sbatch 向每个工作人员发送稍微不同的命令吗?