解决 SLURM “sbatch:错误:批处理作业提交失败:请求的节点配置不可用”错误

Posted

技术标签:

【中文标题】解决 SLURM “sbatch:错误:批处理作业提交失败:请求的节点配置不可用”错误【英文标题】:Solving SLURM "sbatch: error: Batch job submission failed: Requested node configuration is not available" error 【发布时间】:2019-03-21 23:13:59 【问题描述】:

我们的本地集群有 4 个 GPU 节点、2 个 36 核 CPU 和 200 GB RAM。当我尝试使用以下配置提交作业时:

#SBATCH --nodes=1
#SBATCH --ntasks=40
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=1500MB
#SBATCH --gres=gpu:4
#SBATCH --time=0-10:00:00

我收到以下错误:

sbatch:错误:批处理作业提交失败:请求的节点配置不可用

此错误的原因可能是什么?节点具有我需要的那种硬件...

【问题讨论】:

【参考方案1】:

CPU 很可能是 36 线程而不是 36 核,并且 Slurm 可能配置为分配内核而不是线程。

检查scontrol show nodes 的输出,看看节点真正提供了什么。

【讨论】:

谢谢!我发现了问题。我的输出是:NodeName=node-16 Arch=x86_64 CoresPerSocket=18, ..., CPUTot=72【参考方案2】:

您在具有 36 个 CPU 的节点上请求 40 个任务。默认 SLURM 配置将任务绑定到核心,因此将任务减少到 36 个或更少可能会起作用。 (或者将节点增加到 2,如果您的应用程序可以处理)

【讨论】:

以上是关于解决 SLURM “sbatch:错误:批处理作业提交失败:请求的节点配置不可用”错误的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 Slurm 分区 QoS?

slurm学习笔记

Slurm任务调度系统部署和测试

Test SLURM

使用批处理脚本提交作业 Slurm

Slurm的NODE配置