spmdReduce
说明
使用函数 B = spmdReduce(fcn,A)fcn 来减少在每个运行 spmd 代码块或通信作业的工作单元上定义的数组 A。该函数存储每个工作单元上的归约结果 B。
例如,spmdReduce(@plus,A) 返回每个工作单元上定义的数组 A 的总和。
MATLAB® 使用 fcn 函数通过调用 N - 1 次函数来减少 A J。
N 是运行
spmd代码块或通信作业的工作单元数量。要获取运行当前 spmd 代码块的工作单元数量,请使用spmdSize函数A j 是在
spmd工作单元上定义的数组A,其索引为 j。
为了确保您的 spmd 代码块或通信作业始终产生相同的结果,请将 fcn 指定为关联函数。
当您使用 parfor、parfeval 或 parfevalOnAll 在并行池上运行代码时,工作单元是独立的并且彼此不会通信。如果您在这些工作单元上使用 spmdReduce,其结果与在客户端上使用 spmdReduce 相同。
如果一个工作单元正在运行当前的 spmd 代码块,则 B 等于 A。
减少 B = spmdReduce(fcn,A,destination)A 并将结果存储在仅一个工作单元上。
示例
输入参数
算法
该图显示了当调用 fcn 时 spmdReduce 函数如何使用 spmdReduce(fcn,A)。

扩展功能
版本历史记录
在 R2022b 中推出