全局分解域内局部PDE子问题的高效MPI并行化策略

全局PDE求解中的局部子问题负载均衡问题
我正在研究一个全局PDE问题,采用标准域分解策略(如Scotch、METIS)求解,这部分计算在所有MPI进程间负载均衡良好。
但我还需解决一个额外的局部化PDE子问题,该问题仅需在域内的一个小区域上求解。相关情况如下:
- 蓝色区域为全局域,通过标准分区器分解到MPI进程
p0, p1, ..., p12上。 - 橙色区域是需要求解局部PDE的子域,仅由拥有该区域的进程(示例中为
p0和p1)参与计算。
这导致了严重的负载不均衡:局部求解期间仅小部分MPI进程承担大量计算工作,其余进程基本处于空闲状态,降低了整体效率。
我正在寻求高效并行化此类局部子问题的策略或最佳实践,具体包括:
- 是否有成熟方法可在MPI中处理局部PDE求解且不引发全局负载不均衡?
- 在局部求解前进行动态重分区、使用子通信器是否可行?
欢迎提供任何建议、见解或参考资料,提前感谢!
内容的提问来源于stack exchange,提问作者hrx71
相关产品推荐
相关产品推荐

