MPI 構成の Beowulf クラスターの複数のノードで同じバイナリ (同じアーキテクチャを意味する) を実行している場合、別のノードに関数を呼び出すように指示する方法として、MPI を介して関数ポインターを渡すことは安全ですか? 同じバイナリ内の同じ関数が、異なるマシンまたは異なるインスタンスで異なる仮想アドレスを持つことができるのは、どのような状況ですか?
2 に答える
4
集合 MPI_FILE_OPEN (MPI が保持する) ごとに 1 つの共有ファイル ポインター以外のポインターを他のプロセスに渡すことは意味がありません。アドレス空間が分離されているということは、ポインタ値は、それを生成したプロセス以外のプロセスでは役に立たないということです。
一方、各プロセスにどの関数を呼び出すかに関する情報を渡すか、各プロセスに個別に決定させることができます。もちろん、それはあなたのコードが何をしているかに依存します。
于 2011-09-07T15:01:42.633 に答える
4
既知の順序で満たされた関数の配列を作成し、関数の ID を渡すだけです。
于 2011-09-07T15:08:30.013 に答える