标签: slurm

SLURM:查看每个节点有多少个核心,以及每个作业的核心数

我搜索过谷歌并阅读文档.

我的本地群集正在使用SLURM.我想检查以下内容:每个节点有多少个核心?保留队列中的每个作业有多少个核心?

任何建议将不胜感激!

slurm

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

使用 Apache Airflow 提交和监控 SLURM 作业

我正在使用 Slurm 作业调度程序在集群上运行我的作业。使用 Apache Airflow 提交 Slurm 作业并检查其状态的最有效方法是什么?

我能够使用 SSHOperator 远程提交我的工作并每分钟检查一次他们的状态,直到完成,但我想知道是否有人知道更好的方法。下面是我写的SSHOperator。

sshHook = SSHHook(ssh_conn_id='my_conn_id',keepalive_interval=240)

task_ssh_bash = """
cd ~/projects &&
JID=$(sbatch myjob.sh)
echo $JID
sleep 10s # needed
ST="PENDING"
while [ "$ST" != "COMPLETED" ] ; do 
   ST=$(sacct -j ${JID##* } -o State | awk 'FNR == 3 {print $1}')
   sleep 1m
   if [ "$ST" == "FAILED" ]; then
      echo 'Job final status:' $ST, exiting...
      exit 122
   fi
echo $ST
"""

task_ssh = SSHOperator(
    task_id='test_ssh_operator',
    ssh_hook=sshHook,
    do_xcom_push=True,
    command=task_ssh_bash,
    dag=dag)
Run Code Online (Sandbox Code Playgroud)

python-3.x slurm airflow airflow-scheduler

10
推荐指数
1
解决办法
1497
查看次数

启动无法生成子进程:没有这样的文件或目录

您好,当我在 slurm 中运行工作时收到此消息,这是什么意思?tensorflow/core/platform/default/subprocess.cc:304]启动无法生成子进程:没有这样的文件或目录

python slurm tensorflow

10
推荐指数
0
解决办法
2247
查看次数

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

我注意到seq我的一台计算机上出现了一个奇怪的行为(Ubuntu LTS 14.04):它不使用点作为小数分隔符,而是使用逗号:

seq 0. 0.1 0.2
0,0
0,1
0,2
Run Code Online (Sandbox Code Playgroud)

我的另一台PC上相同版本的seq(8.21)给出了正常点(也是相同的Ubuntu版本).最奇怪的是,当我从第一台机器进入ssh时,我在远程机器上观察到同样的不良行为.即使是从冲突机器提交到远程机器上的作业调度程序(slurm)的bash脚本也存在这个问题.我很迷茫.为什么(以及如何!)发生这种情况?

ssh bash ubuntu seq slurm

9
推荐指数
1
解决办法
5359
查看次数

运行具有多个节点的slurm脚本,使用1个任务启动作业步骤

我正在尝试使用批处理脚本启动大量作业步骤.不同的步骤可以是完全不同的程序,并且每个步骤只需要一个CPU.首先,我尝试使用--multi-prog参数来执行此操作srun.不幸的是,当以这种方式使用分配给我的作业的所有CPU时,性能会大幅降低.运行时间几乎增加到序列化值.通过订阅我可以改善这一点.我在网上找不到关于这个问题的任何内容,所以我认为它是我正在使用的集群的配置问题.

所以我试着走另一条路.我实现了以下脚本(通过启动sbatch my_script.slurm):

#!/bin/bash
#SBATCH -o $HOME/slurm/slurm_out/%j.%N.out
#SBATCH --error=$HOME/slurm/slurm_out/%j.%N.err_out
#SBATCH --get-user-env
#SBATCH -J test
#SBATCH -D $HOME/slurm
#SBATCH --export=NONE
#SBATCH --ntasks=48

NR_PROCS=$(($SLURM_NTASKS))
for PROC in $(seq 0 $(($NR_PROCS-1)));
do
    #My call looks like this:
    #srun --exclusive -n1 bash $PROJECT/call_shells/call_"$PROC".sh &
    srun --exclusive -n1 hostname &
    pids[${PROC}]=$!    #Save PID of this background process
done
for pid in ${pids[*]};
do
    wait ${pid} #Wait on all PIDs, this returns 0 if ANY process fails
done
Run Code Online (Sandbox Code Playgroud)

我知道,--exclusive …

cluster-computing slurm

9
推荐指数
1
解决办法
4994
查看次数

如何从 SLURM 获取详细的作业运行信息(例如,像 LSF 为“标准输出”生成的那样)?

bsub与 LSF 一起使用时,该-o选项提供了许多详细信息,例如作业何时开始和结束以及作业占用了多少内存和 CPU 时间。使用 SLURM,我得到的只是在没有 LSF 的情况下运行脚本时得到的相同标准输出。

例如,给定这个 Perl 6 脚本:

warn  "standard error stream";
say  "standard output stream";
Run Code Online (Sandbox Code Playgroud)

提交如下:

sbatch -o test.o%j -e test.e%j -J test_warn --wrap 'perl6 test.p6'
Run Code Online (Sandbox Code Playgroud)

结果在文件中test.o34380

Testing standard output
Run Code Online (Sandbox Code Playgroud)

和文件test.e34380

Testing standard Error  in block <unit> at test.p6:2
Run Code Online (Sandbox Code Playgroud)


使用 LSF,我会在标准输出文件中获得各种详细信息,例如:

Sender: LSF System <lsfadmin@my_node>
Subject: Job 347511: <test> Done

Job <test> was submitted from host <my_cluster> by user <username> in cluster <my_cluster_act>.
Job was executed on host(s) …
Run Code Online (Sandbox Code Playgroud)

lsf slurm

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

Sbatch:传递作业名称作为输入参数

我有以下脚本用slurm提交作业:

#!/bin/sh
#!/bin/bash
#SBATCH -J $3 #job_name 
#SBATCH -n 1 #Number of processors
#SBATCH -p CA 

nwchem $1 > $2
Run Code Online (Sandbox Code Playgroud)

第一个参数($ 1)是我的输入,第二个($ 2)我的输出,我想第三个($ 3)确实是我的工作名称.如果我喜欢这样,那么工作名称是'$ 3'.我怎样才能将作业名称作为脚本的参数?

谢谢

slurm

9
推荐指数
1
解决办法
3318
查看次数

由slurm处理的bash脚本中的注释

slurm在群集上使用来运行作业并提交如下所示的脚本sbatch:

#!/usr/bin/env bash

#SBATCH -o slurm.sh.out
#SBATCH -p defq
#SBATCH --mail-type=ALL
#SBATCH --mail-user=my.email@something.com

echo "hello"
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式注释掉#SBATCH一行,例如#SBATCH --mail-user=my.email@something.com在这个脚本中吗?由于slurm指令是bash注释本身,我不知道如何实现这一点.

bash comments hpc slurm

9
推荐指数
1
解决办法
2390
查看次数

Slurm:为什么在sbatch中使用srun?

在sbatch脚本中,您可以直接启动程序或脚本(例如,可执行文件myapp),但是在许多教程中,人们会使用它们srun myapp

尽管阅读了有关该主题的一些文档,但我不了解它们的区别以及何时使用这些语法

我希望这个问题足够精确(关于SO的第一个问题),在此先感谢您的回答。

hpc slurm

9
推荐指数
1
解决办法
1201
查看次数

Unable to setup slurmdbd plugin: Connection refused

Unable to setup slurmdbd plugin.

The SLURM installation works fine Set AccountingStorageType=accounting_storage/slurmdbd in the /etc/slurm/slurm.conf

When I do sacctmgr list cluster it gives:

sacctmgr: error: slurm_persist_conn_open_without_init: failed to open persistent connection to localhost:6819: Connection refused
sacctmgr: error: slurmdbd: Sending PersistInit msg: Connection refused
sacctmgr: error: Problem talking to the database: Connection refused
Run Code Online (Sandbox Code Playgroud)

slurm

9
推荐指数
0
解决办法
4814
查看次数