2015-11-04 19 views
0

为了找到更好的最小值,我目前创建并运行不同初始猜测的openmdao问题的多个实例,然后选择具有最佳性能的解决方案。为了使这个过程更快,我目前使用Python的多处理模块并且在并行子进程中解决每个openmdao问题。然而,随着我的问题变得越来越复杂,我也想并行化优化过程(通过使用ParallelGroup和/或分布式组件),并且我不确定mpi是否会以奇怪的方式与Python的多处理进行交互。是否有任何openmdao特性可以处理解决个人问题和多个问题实例的并行性?并行openmdao优化与不同的初始猜测

回答

2

通过拆分comm并将子通信传递给Problem构造函数,可以在MPI(无子进程)下运行OpenMDAO问题的多个实例。在这里看到一个基本的例子:

https://github.com/OpenMDAO/OpenMDAO/blob/master/mpitest/test_mpi.py#L207-237

您的问题可以具有的ParallelGroup(S),这将是罚款,只要你给它一个足够大的通讯。

+0

我只是补充说,你应该只使用多处理与MPI结合使用。切换到纯粹的基于MPI的解决方案要简单得多。在那里你手动拆分comm,并将子通信交给问题。但要注意你在这种情况下最终如何录音。 –