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