确定MPI中的理想核心数

时间:2018-01-24 01:03:09

标签: performance mpi performance-testing

我试图确定我的模型的理想核心数(在此示例中,我使用xbeach但我在运行SWAN等其他模型时遇到了同样的问题)加速测试,即我使用mpiexec -n <np> mymodel.exe内核/进程运行相同的代码<np> = 2, 4, 8, 12, 16, 18, 20, 24, 32, and 36并查看需要多长时间。我多次运行测试,每次都有不同的结果 - 见图像

Computing time with different number of cores

根据我的理解,MPI尝试在所有处理器之间均匀分配所有任务(因此让其他应用程序在后台运行可能会减慢速度)但我仍然感到困惑,为什么我要为SUCH提供大量的计算时间。具有相同内核/任务数的相同代码。为什么我的模型需要18分钟才能在18个核心上运行一次,然后在下次运行时需要128分钟?

我在Windows 10上使用MPICH2 1.4.1p1在具有2个NUMA节点的计算机上,每个节点有36个核心,因此任何潜在的后台任务都应该在剩余的核心/节点上轻松处理。它看起来我的内存不足。

总结一下我的问题是:

  1. 使用MPI时计算时间范围如此大吗?
  2. 如果是 - 为什么?
  3. 有没有比我更好的方法来确定MPI程序的理想核心数?

0 个答案:

没有答案
相关问题