プロセスがランダムなメッセージをネイバーに送信し、同時にネイバーからメッセージを受信するネットワークがあります。ソケットとスレッドを使用してそれを行うことができます。1 つのスレッドがメッセージを受信し、別のスレッドがランダムに選択されたネイバーにメッセージを送信します。MPI_SEND と MPI_RECV を使用してこれを達成することは可能ですか?
質問する
1405 次
2 に答える
1
マルチスレッド環境で MPI 呼び出しを使用できます。MPI_Init_thread関数のマニュアルとこのペーパーを確認してください: http://www.mcs.anl.gov/~thakur/papers/mpi-threads.pdf。MPI-1 標準では実装がスレッドセーフである必要はなく、MPI-2 のみが必要であることに注意してください (ただし、使用する実装はおそらく MPI-2 です)。
于 2013-02-13T17:40:09.603 に答える
0
「同時」の定義は何ですか?
いずれにしても、MPI_Sendrecvに興味があるかもしれません:
送受信操作のセマンティクスは、呼び出し元が 2 つの同時スレッドをフォークし、1 つは送信を実行し、もう 1 つは受信を実行し、その後これら 2 つのスレッドを結合した場合に得られるものです。
于 2013-02-13T18:14:41.987 に答える