使用Slurm Scheduler在多个节点上运行MPI作业

问题描述 投票:0回答:1

我正在尝试运行具有特定任务/节点配置的MPI应用程序。我总共需要运行8个MPI任务,其中4个在一个节点上,另外4个在另一节点上。

这是我正在使用的脚本文件:

#!/bin/bash
#SBATCH --time=00:30:00
#SBATCH --nodes=2
#SBATCH --ntasks=8
#SBATCH --ntasks-per-node=4
#SBATCH --ntasks-per-socket=1
#SBATCH --cpus-per-task=4

module load autoload scalapack/2.0.2--intelmpi--2018--binary intel/pe-xe-2018--binary

srun <path_to_bin> <options>

然后我用sbatch运行它:

sbatch mpi_test.sh

但我仍然收到此错误:

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

如何修改这段代码以使其运行?我肯定会丢失一些东西,但是我无法弄清楚是什么。

我正在使用IntelMPI和slurm 20.02

mpi hpc slurm intel-mpi
1个回答
1
投票

这可能是由于参数错误。

潜在问题可能在以下几行:

#SBATCH --ntasks-per-node=4
#SBATCH --cpus-per-task=4

如果没有足够的cpus不能满足要求。即。如果单个节点中的内核数少于16,则会显示上述错误。

#SBATCH --ntasks-per-socket=1

如damienfrancois所指出的那样,套接字数量可能是一个问题。如果没有四个插槽,则也会显示相同的错误。

作为一个简单的步骤,您可以在该行中注释掉“ #SBATCH --ntasks-per-socket = 1”并运行批处理脚本。如果失败,则可能是由于任务到cpu的无效映射引起的。

需要更多有关环境的信息以进行进一步分析。

© www.soinside.com 2019 - 2024. All rights reserved.