このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
spmdSendReceive
説明
は、B
= spmdSendReceive(destination
,source
,A
)spmd
ブロックまたは通信ジョブの現在のワーカーからデータ A
を destination
に送信し、source
からデータを受信します。配列 A
は、現在のワーカーから、インデックスが destination
と等しいワーカーへと送信されます。現在のワーカーは、インデックスが source
と等しいワーカーから現在のワーカーに送信されたデータ B
を受信します。
この構文を使用すると、ワーカーで次のコード行を同時に実行してデータを送受信する計算と等価になります。
spmdSend(A,destination); B = spmdReceive(source);
は、タグ B
= spmdSendReceive(___,tag
)tag
が付いたデータを送受信します。spmdSendReceive
を使用してワーカー間でデータを送信する場合、データの複数の項目が収集されるのを待機することができます。データの複数の項目をワーカーに送信する場合、各項目にタグを付加して項目間の区別をつけます。
例
入力引数
ヒント
タグには次のような多くの用途があります。
タグを使用して、データが必要なときにのみワーカーに配列を読み込むことで、メモリを節約。
タグを使用して、送信側ワーカーのインデックスに依存しないコードを作成。
拡張機能
バージョン履歴
R2022b で導入
参考
spmdBarrier
| spmdIndex
| spmdProbe
| spmdReceive
| spmdSend
| spmdSize