我无法在 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 秒