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