标签: slurm

SLURM显示未完成作业的标准输出和标准

我过去常常使用LSF服务器,但现在我只使用SLURM过渡到一个服务器.

在SLURM中,bpeek(对于LSF)的等效命令是什么?

bpeek bpeek显示未完成作业的stdout和stderr输出

我无法在任何地方找到文档.如果您对SLURM有一些很好的参考,请告诉我.谢谢!

lsf slurm

8
推荐指数
2
解决办法
2488
查看次数

在运行期间更改发送到slbm中的sbatch的bash脚本是个坏主意?

我想通过脚本main.py多次使用不同的参数运行python脚本sbatch_run.sh,如下所示:

#!/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
Run Code Online (Sandbox Code Playgroud)

参数在sbatch运行的bash文件中编码.我担心如果我一个接一个地运行sbatch_run.sh多次但是在每次运行期间更改arg1和arg2的值,那么它可能会导致我的运行中出错.例如,如果我这样做:

sbatch sbatch_run.sh # with arg1=10 and arg2=12
Run Code Online (Sandbox Code Playgroud)

然后我立即更改后sbatch_run.sh再次运行该文件,如下所示:

sbatch sbatch_run.sh # with arg1=69 and arg2=666
Run Code Online (Sandbox Code Playgroud)

将我的运行全部运行到最后一个(即arg1=69arg2=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 …
Run Code Online (Sandbox Code Playgroud)

bash shell distributed-computing slurm

8
推荐指数
1
解决办法
1922
查看次数

如何在多个 GPU 节点上获取分配给 SLURM 作业的 GPU ID?

当我将带有选项 --gres=gpu:1 的 SLURM 作业提交到具有两个 GPU 的节点时,如何获取分配给该作业的 GPU 的 ID?是否有用于此目的的环境变量?我使用的 GPU 都是 nvidia GPU。谢谢。

gpu nvidia slurm sbatch

8
推荐指数
2
解决办法
2403
查看次数

在文件输出中使用 SBATCH 作业名称作为变量

通过 SBATCH,您可以使用以下语法在自动生成的输出文件中使用作业 ID %j

#!/bin/bash
# omitting some other sbatch commands here ... 
#SBATCH -o slurm-%j.out-%N # name of the stdout, using the job number (%j) and the first node (%N)
#SBATCH -e slurm-%j.err-%N # name of the stderr, using job and first node values
Run Code Online (Sandbox Code Playgroud)

我一直在寻找类似的语法来使用作业名称而不是作业 ID。有谁知道样式%j语法中可以引用哪些其他 slurm/sbatch 值?

slurm sbatch

8
推荐指数
1
解决办法
9447
查看次数

Slurm:选择sbatch Slurm中的CPU和线程数

sbatch手册页中使用的术语可能有点令人困惑.因此,我想确保我正确设置选项.假设我有一个任务在一个有N个线程的节点上运行.我是否正确地假设我会使用--nodes = 1和--ntasks = N?我习惯于考虑使用例如pthreads在单个进程中创建N个线程.他们称之为"核心"或"每个任务的cpus"的结果是什么?CPU和线程在我的脑海里并不是一回事.

parallel-processing multithreading hpc mpi slurm

8
推荐指数
1
解决办法
3614
查看次数

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

我正在使用脚本开始 SLURM 作业,脚本必须根据它的位置工作,该位置是在脚本本身内部使用SCRIPT_LOCATION=$(realpath $0). 但是 SLURM 将脚本复制到slurmd文件夹并从那里开始工作,它搞砸了进一步的操作。

是否有任何选项可以在移动/复制之前获取用于 slurm 作业的脚本的位置?

脚本位于网络共享文件夹中/storage/software_folder/software_name/scripts/this_script.sh,它必须:

  1. 获取它自己的位置
  2. 返回software_name文件夹
  3. software_name文件夹复制到本地文件夹/node_folder节点上
  4. 从复制的文件夹运行另一个脚本 /node_folder/software_name/scripts/launch.sh

我的脚本是

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --partition=my_partition_name

# getting location of software_name 
SHARED_PATH=$(dirname $(dirname $(realpath $0)))
# separating the software_name from path
SOFTWARE_NAME=$(basename $SHARED_PATH)
# target location to copy project
LOCAL_SOFTWARE_FOLDER='/node_folder'
# corrected path for target
LOCAL_PATH=$LOCAL_SOFTWARE_FOLDER/$SOFTWARE_NAME

# Copying software folder from network storage to local
cp -r $SHARED_PATH $LOCAL_SOFTWARE_FOLDER
# running the …
Run Code Online (Sandbox Code Playgroud)

variables bash path slurm

8
推荐指数
1
解决办法
2502
查看次数

错误:未安装 cgroup 命名空间“freezer”。中止

尝试运行 slurmd:

\n
sudo systemctl start slurmd\n
Run Code Online (Sandbox Code Playgroud)\n

我显示守护进程的状态,屏幕上显示错误:

\n
>>sudo systemctl status slurmd\n\xe2\x97\x8f slurmd.service - Slurm node daemon\n   Loaded: loaded (/lib/systemd/system/slurmd.service; enabled; vendor preset: enabled)\n   Active: failed (Result: exit-code) since Mon 2020-06-29 18:13:06 MSK; 2s ago\n     Docs: man:slurmd(8)\n  Process: 13402 ExecStart=/usr/sbin/slurmd $SLURMD_OPTIONS (code=exited, status=1/FAILURE)\n\n\xd0\xb8\xd1\x8e\xd0\xbd 29 18:13:06 ecm systemd[1]: Starting Slurm node daemon...\n\xd0\xb8\xd1\x8e\xd0\xbd 29 18:13:06 ecm slurmd-ecm[13402]: Message aggregation disabled\n\xd0\xb8\xd1\x8e\xd0\xbd 29 18:13:06 ecm slurmd-ecm[13402]: error: cgroup namespace 'freezer' not mounted. aborting\n\xd0\xb8\xd1\x8e\xd0\xbd 29 18:13:06 ecm slurmd-ecm[13402]: error: unable to create freezer …
Run Code Online (Sandbox Code Playgroud)

hpc slurm

8
推荐指数
1
解决办法
8572
查看次数

Slurmd 无法启动并出现以下错误: fatal: 无法确定此 slurmd 的 NodeName

我正在尝试在一堆 aws 实例上设置 slurm,但是每当我尝试启动头节点时,都会出现以下错误:

fatal:无法确定此 slurmd 的 NodeName

我已经设置了实例 /etc/hosts,以便它们可以将彼此寻址为节点 1-6,其中节点 6 是头节点。这是节点 6 的主机文件,所有其他节点都有类似的主机文件。

/etc/hosts 文件:

127.0.0.1 localhost node6

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

<Node1 IP> node1
<Node2 IP> node2
<Node3 IP> node3
<Node4 IP> node4
<Node5 IP> node5
Run Code Online (Sandbox Code Playgroud)

/etc/slurm-llnl/slurm.conf:

###############################################################################
#                 Sample configuration file for SLURM 2
###############################################################################
#
# This file holds the system-wide SLURM configuration. It is read …
Run Code Online (Sandbox Code Playgroud)

slurm

8
推荐指数
1
解决办法
1万
查看次数

Slurm服务器附近有一个星号"空闲"

我正在使用Slurm.我跑的时候

sinfo -Nel

通常会看到指定的服务器idle,但有时候它附近也会有一个小星号(像这样:) idle*.

那是什么意思?我找不到任何关于它的信息.(服务器已启动并正在运行).

slurm

7
推荐指数
1
解决办法
4840
查看次数

术语"工作","任务"和"步骤"如何相互关联?

SLURM文档中使用的术语"作业","任务"和"步骤"如何相互关联?

AFAICT,一个工作可能包含多个任务,并且它由多个步骤组成,但是,假设这是真的,我仍然不清楚任务和步骤是如何相关的.

查看显示作业/任务/步骤完全复杂性的示例会很有帮助.

slurm

7
推荐指数
1
解决办法
2163
查看次数