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 がない場合。すなわち。単一ノードのコア数が 16 未満の場合、上記のエラーが表示されます。

#SBATCH --ntasks-per-socket=1

damienfrancois が指摘したコメントのように、ソケットの数に問題がある可能性があります。4 つのソケットがない場合も、同じエラーが表示されます。

簡単な手順として、「#SBATCH --ntasks-per-socket=1」行をコメントアウトして、バッチ スクリプトを実行できます。失敗した場合、問題はタスクの CPU への無効なマッピングが原因である可能性があります。

さらに分析するには、環境に関する詳細情報が必要です。

于 2020-06-09T12:55:52.967 に答える