【问题标题】:Running MPI job on multiple nodes with slurm scheduler使用 slurm 调度程序在多个节点上运行 MPI 作业
【发布时间】:2020-09-27 21:35:04
【问题描述】:

我正在尝试运行具有特定任务/节点配置的 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

【问题讨论】:

  • 你确定节点有4个socket吗?

标签: mpi hpc slurm intel-mpi


【解决方案1】:

这可能是由于参数错误。

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

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

如果没有足够的cpu满足要求。 IE。如果单个节点少于 16 个核心,则会显示上述错误。

#SBATCH --ntasks-per-socket=1

正如 damienfrancois 指出的评论,这可能是套接字数量的问题。如果没有四个socket,也会出现同样的错误。

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

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

【讨论】:

    猜你喜欢
    • 2016-12-30
    • 2022-01-13
    • 2018-10-07
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多