0

より良い最小値を見つけるために、私は現在 openmdao 問題の複数のインスタンスを作成して実行し、異なる初期推測で実行してから、最高のパフォーマンスを持つソリューションを選択しています。このプロセスを高速化するために、私は現在、Python のマルチプロセッシング モジュールを使用して、並列サブプロセスで各 openmdao の問題を解決しています。

ただし、私の問題がより複雑になるにつれて、(ParallelGroup や分散コンポーネントを使用して) 最適化プロセスも並列化したいのですが、mpi が Python のマルチプロセッシングと奇妙な方法で相互作用するかどうかはわかりません。個々の問題と複数の問題インスタンスを解決する際の並列処理の両方を処理する openmdao 機能はありますか?

4

1 に答える 1

2

通信を分割し、サブ通信を Problem コンストラクターに渡すことにより、MPI の下で (サブプロセスなしで) OpenMDAO 問題の複数のインスタンスを実行できます。ここで基本的な例を参照してください。

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

問題は ParallelGroup を持つことができ、十分な大きさの通信を与える限り問題ありません。

于 2015-11-04T19:11:25.610 に答える