收集
将分布式阵列或gpu阵列转移到本地工作区
语法
描述
X =收集(
可以操作以下数组数据:一个
)
在一个
gpuArray
:转换元素一个
从GPU到本地工作区,并分配给它们X
.在分布式阵列上,在
spmd
语句:集合元素一个
从多个工作者到本地工作区,并将它们分配到X
.在一个共分布数组中
spmd
陈述或沟通工作:集合…的要素一个
把它们复制成X
在每一个工人。
你可以叫收集
其他数据类型,例如高数组(参见收集(高)
).如果数据类型不支持收集,则收集
没有效果。
收集GPU阵列或分布式阵列的成本很高,通常没有必要,除非你需要使用不支持这些类型的阵列的函数。有关函数支持的更多信息,请参见在图形处理器上运行MATLAB函数或运行MATLAB函数与分布式数组.
X =收集(gpuArray (X))
,X =收集(分布式(X))
,或X =收集(codistributed (X))
返回原始数组X
.
(X1, X2,…,Xn] = gather(A1,A2,...,,Xn)
收集多个数组A1, A2,…,,
对应的输出X1, X2,…,Xn
.输入参数和输出参数的数量必须匹配。
X =收集(C,目的地)
转换共分布数组C
到一个变体数组X
所指定的工作者上包含所有元素目的地
,X
是所有其他工位上的0 × 0空双工。
(X1, X2,…,Xn] = gather(C1,C2,...,Cn,destination)
收集codistributed数组C1, C2,…,Cn
到相应的输出X1, X2,…,Xn
所指定的工作者上的所有元素目的地
.输入参数和输出参数的数量必须匹配。
例子
输入参数
提示
请注意,收集
分别在其执行的所有worker的工作空间或MATLAB客户端上组装共分布或分布式数组,但不能两者都装配。如果你正在使用收集
在一个spmd
语句,则可以在客户机上通过其对应的复合
对象;看到使用复合材料访问工作者变量.如果你在跑步收集
在通信作业中,可以将收集的数组作为任务的输出参数返回给客户端。
随着收集
函数需要所有worker之间的通信,您不能通过将函数放在一个条件语句中来将所有worker的数据收集到单个worker上if spmdIndex == 1
.
版本历史
介绍了R2006b