特定のタグを持つメッセージを受信したランクのいずれかにメッセージを送信したいとします。ランクがあればメッセージを受信し、メッセージが消費されます。 MPI_Recv()では、MPI_ANY_SOURCE/MPI_ANY_TAGを使ってメッセージを受け取ることができますが、MPI_Send()はこれを行うことができません。宛先が不明なメッセージを送信するにはどうすればよいですか? 受信後、ソースプロセスに返信する必要があるため、MPI_Bcast()は実行できません。おかげさまで MPIで特定の宛先のないメッセージを送信するにはどうすればよいですか?
5
A
答えて
4
私は、ワーカープロセスが受信準備ができていることをマスタに知らせるように指示します。マスターは、どのランクが準備ができているかを追跡し、1つを選んで(最も低いランク、ランダム、ラウンドロビン)、送信して、「準備完了」フラグをクリアします。
1
ランダムなランクにメッセージを送信したいだけですか?
MPI_Comm_size(MPI_COMM_WORLD, &size);
sendto = rand() % size;
MPI_Send(buffer, count, MPI_CHAR, sendto, 0, MPI_COMM_WORLD);
1
短い答えは:MPIでこれを行うことはできません。
少し長めの答えは次のとおりです。おそらくこれはしたくないでしょう。私はあなたが何らかの仕事を盗み出すことを試みていると推測しています。 suszterpattが示唆しているように、片方向のコミュニケーションを使って送信プロセスから作業を取得することもできますが、ロックを使用する必要があります。ローカルプロセスグループの考えがない限り、すなわち、1,000プロセスを1つのプロセスから盗み取ることはできません。物事を分解する必要があります)。
関連する問題
- 1. 特定のsocket.idにのみメッセージを送信するにはどうすればよいですか?
- 2. 特定のIPとポートにsmtpメッセージを送信するにはどうすればよいですか?
- 3. 宛先コントローラのセグレットエントリポイントを特定するにはどうすればよいですか?
- 4. プロジェクトの特定のアプリケーションにFirebaseメッセージを送信するにはどうすればいいですか?
- 5. アレイを送信してMPIの宛先プロセッサを修正できない
- 6. スラックチャンネルにメッセージを送信するにはどうすればよいですか?
- 7. 特定のViewControllerに特定のUITableView行を送信するにはどうすればいいですか?
- 8. この宛先にgulp-svg-spriteを設定するにはどうすればよいですか?
- 9. fastcgiアプリにメッセージを送信/送信するにはどうすればよいですか?
- 10. 宛先を指定してLINUXのデフォルトゲートウェイを取得するにはどうすればよいですか?
- 11. Linuxで特定のコマンドをscsiデバイスに送信するにはどうすればよいですか?
- 12. Linuxの特定のインターフェイスからUDPパケットを送信するにはどうすればよいですか?
- 13. 特定のドメインの要求をApacheに送信するにはどうすればよいですか?
- 14. SignalRの発信者クライアントにメッセージを送信するにはどうすればよいですか?
- 15. 特定のインターフェイスからPythonでigmp joinを送信するにはどうすればいいですか?
- 16. 送信後に特定のフォームフィールドを1つだけクリアするにはどうすればよいですか?
- 17. 特定のスレッドにデータを送信するにはどうすればよいですか?
- 18. ブラウザ通知を特定のユーザ/ブラウザに送信するにはどうすればよいですか?
- 19. 特定のソケットにデータを送信するにはどうすればよいですか?
- 20. 特定の時刻にブラウザ通知を送信するにはどうすればよいですか?
- 21. WebSocketで大きなメッセージを送信するにはどうすればよいですか?
- 22. Webサービスから特定のアンドロイドアプリケーションにデータを送信するにはどうすればいいですか?
- 23. 宛先アプリケーションでUriのパラメータを使用するにはどうすればよいですか?
- 24. JSFからJavaのアプリケーションにメッセージを送信するにはどうすればよいですか?
- 25. 別のシステムからSameTimeユーザーにメッセージを送信するにはどうすればよいですか?
- 26. 特定の時間にFirebase通知を送信するにはどうすればいいですか?
- 27. Excel VBAのBot Telegramでメッセージを送受信するにはどうすればよいですか?
- 28. 複数のIPに1つのメッセージを送信するにはどうすればよいですか?
- 29. アクションの開始後、CCMoveToの宛先を変更するにはどうすればよいですか?
- 30. Amazon SESのフィードバックレポートの送信先メールアドレスを変更するにはどうすればよいですか?
受信機が必要なデータを知っている場合は、片面MPI操作、つまり「MPI_Get」を使用できます。 –
この質問は、http://scicomp.stackexchange.comで本当によく受け取ります。 –