5

MPI では、起動後に新しいノードを追加できますか? たとえば、既に並列 MPI アプリケーションを実行している 2 台のコンピューターがあります。このアプリケーションの別のインスタンスを 3 台目のコンピューターで起動し、それを既存のコミュニケーターに追加します。すべてのコンピューターはローカル ネットワーク内にあります。

4

2 に答える 2

2

いいえ、現在、実行中の MPI アプリケーションに新しいノードを追加することはできません。MPI は、プログラムの開始時にノードの総数を知るように設計されています。

ダウンしたノードを処理する作業が (例えばMPI-3で) 行われています。障害のあるノードを元に戻すことができれば、新しいノードを追加できるかもしれませんが、それが私が考えることができる最も近いものです。MPI フォールト トレランスへのアプローチの詳細については、この回答を参照してください。

于 2011-08-12T16:34:58.750 に答える
1

MPI2 プログラムが新しいランクを生成する可能性があります。関数はMPI_Comm_spawnで、新しい MPI コミュニケーターで子を開始します。つまり、新しいランクには、以前に実行されていたランクとは異なる MPI_COMM_WORLD があります。ただし、現在実行中のすべてのランクを含む新しいコミュニケーターを作成できるはずです。

于 2011-09-22T02:09:45.377 に答える