私は現在、より大きなプロジェクトの一部として小さなユーティリティライブラリを構築しています。OpenMPIには十分に文書化されたAPIライブラリがありますが、ノード間の低レベルの通信に関しては少し戸惑っています。アルゴリズムを作成するときは、残りのノードと通信し、「グローバル」MPIランク(アルゴリズムで定義されている)に基づいてアルゴリズムの一部を実行し、すべてのノードと通信する計算を行うことが期待されるすべてのノードにアルゴリズムを分散します。ノードは前後に同期します。ただし、グローバルを引用符で囲んだ理由は、openMPIがIPレベルで通信するため、実行アルゴリズムがすでに長いと言いますが、MPIを実行すると、アイドリング状態で、MPIプロセスを実行していないノードがあります。その上のアルゴリズム、MPI_COMM_WORLDに参加して、ネットワークトポロジ全体の一部になるのでしょうか、それとも、そのノードをMPI_COMM_WORLDの一部にするために必要な「ブードゥー」がありますか。また、ノードがその特定のアルゴリズムのMPI_COMM_WORLDの一部になることができる場合、この新しいノードを登録/識別するにはどうすればよいですか?
読書の参考文献も役に立ちます。
どうもありがとう!
tl; dr MPIノードはMPI_COMM_WORLDからホットスワップ可能ですか?