MPI - 仅使用两个NUMA节点之一的代码

时间:2018-01-03 06:48:43

标签: windows-10 mpi mpich

这是一个很长的镜头,但也许有人可以提供帮助。 我在Windows 10上运行模型(SWAN)。我使用MPICH2(1.4.1p1)使用MPI版本。

我有两个NUMA节点,每个节点有36个核心。出于某种原因,我不能在所有72个核心上运行该模型。

我使用mpiexec -n <np> swan.exeswanrun inputfile <np>运行模型。如果我指定mpiexec -n 72,则模型启动72个进程,但仅使用一个节点的36个核心。即使我同时运行2个或更多模型,它们也会在同一节点上运行,而36个内核几乎空闲。

我假设我在安装MPICH2时犯了一个错误但却无法弄清楚我哪里出错了。我只是使用这里提供的二进制文件安装MPICH2(http://www.mpich.org/static/downloads/1.4.1p1/)是否有一些选项我忽略了我必须分别为两个节点安装它?

1 个答案:

答案 0 :(得分:0)

经过一番挖掘后,我意识到我的机器上安装了多个版本的MPI。虽然我仍然不确定为什么我的模型一次只能运行在一个NUMA节点上(我不确定哪个MPI版本mpiexec正在调用)我卸载了所有MPI版本并做了一个干净的重新安装。我现在可以在所有72个核心上运行。