0

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

1 回答 1

1

这可能是由于错误的参数造成的。

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

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

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

#SBATCH --ntasks-per-socket=1

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

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

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

于 2020-06-09T12:55:52.967 回答