Meep C++ 接口基准测试

计算科学 电磁学
2021-11-30 05:19:18

我无法在 Meep 中使用 FDTD 模拟进行良好的并行化。最初,我尝试在一个相当大的计算集群上使用 Python 接口,但我的模拟运行时并没有在更改并行化核心数量时发生明显变化。我知道这可能有很多原因。

我想也许去 C++ 接口可能会提高并行化性能,所以我在我自己的运行 Ubuntu 21 的 Raspberry Pi 4 上设置了 Meep。我复制了基准测试脚本(https://github.com/NanoComp/meep/ blob/master/tests/bench.cpp ),使用 g++ 编译,然后通过 mpirun 使用不同数量的内核运行脚本。再次:没有加速。

我做错了什么,还是这是预期的行为?关于如何提高 meep 模拟的性能或缩放行为,您是否有任何已知的技巧?

3x3x3 模拟的基准测试结果 1 核:1.04605 秒,2 核:1.12921 秒,3 核:1.16467 秒,4 核:1.17204 秒

1个回答

树莓派可能有一个有效的单核 CPU。在这种情况下,更改 MPI 等级不会产生运行时改进。我建议在多核 CPU 上重复基准测试。