在 FX 9370 处理器上优化 MPICH2

计算科学 并行计算 计算化学
2021-12-15 05:04:28

问题的简短版本:我们有一个 Opteron 6272 集群,我们最近开始使用基于 FX 9370 的小型集群。问题是我们无法获得所需的速度,即按数量或流程进行缩放并不是最佳的。

全文:当我们在 Opteron 6272 上作为单个进程运行 CPMD 时,在单个节点上(因此没有任何并行组件)我们得到了 44 秒的执行时间。当在 FX 9370 上重复同样的事情时,完成工作的时间约为 27 秒。但是随着进程数量的增加(最大值=8),与 9370 相比,opteron 6272 的扩展非常好,并且在接近尾声时设法提高了 9370 的性能。

由于处理器的速度几乎是单进程性能的两倍(由单进程性能给出),我不应该期待并行性能的类似趋势吗?

MPICH2 是使用 ACML 编译的,并且来自 amd 的 x86_open64 编译器以避免任何瓶颈。英特尔编译器的性能也相同。

这是英特尔 MPI 基准测试结果的链接。http://pastebin.com/keACK8Qz

1个回答

我所知道的所有 MPI 堆栈的单节点性能一直都非常好。他们都在幕后使用共享内存在任务之间移动数据。您的 IMB 结果看起来不错。

这是两个非常不同的处理器,您可能会被可用内存带宽的差异杀死。9370 是桌面处理器,而 6272 是为服务器设计的。我还没有完成完整的研究,但很有可能,虽然单核在 9370 上更好,但当你达到 8 个核时,你的内存带宽已经用完了。

不太可能但也可能:

  • 任务固定存在一些问题,阻碍了节点上任务的最佳布局
  • Linux 下的频率缩放会在您向上扩展以节省电力或保持处理器冷却时更多地降低 9370 上的时钟频率

您可以将您的 CPMD 结果作为更新发布吗?