将分布式数组或gpuArray传输到本地工作区
X =收集(
可以对以下数组数据进行操作:一个
)
在gpuArray上:传输的元素一个
从GPU到本地工作区,并分配给它们X
。
在分布式数组中,在spmd
语句:集合的元素一个
从多个工作人员到本地工作区,并将它们分配给X
。
在一个共分布的数组中spmd
陈述或沟通作业:集合的元素一个
并将它们复制到X
在每一个工人。
你可以叫收集
其他数据类型,如tall数组(参见收集(高)
)。如果数据类型不支持收集,则万博1manbetx收集
没有效果。
收集GPU阵列或分布式阵列的成本可能很高,而且通常没有必要,除非你需要将你的结果用于不支持这些类型阵列的函数。万博1manbetx有关函数支持的更多信息,请参见万博1manbetx在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
,这样所有的元素都包含在worker上实验室
,X
是所有其他工人的0乘0空加倍。
(X1, X2,…,Xn] = gather(C1,C2,...,Cn,lab)
收集codistributed数组C1, C2,…,Cn
到相应的输出X1, X2,…,Xn
,所有元素都在worker上实验室
。输入参数和输出参数的数量必须匹配。
请注意,收集
分别在执行它的所有worker的工作区或MATLAB客户机上组装协同分布的或分布式的数组,但不能同时在两者上组装。如果你正在使用收集
在一个spmd
语句时,可以在客户机上通过其对应的数组访问收集到的数组复合
对象;看到使用组合访问工作器变量。如果你在跑步收集
在通信作业中,可以将收集到的数组作为任务的输出参数返回给客户机。
随着收集
函数需要在所有worker之间进行通信,您不能通过将函数放在条件语句(例如)中来将所有worker的数据收集到单个worker上如果labindex == 1
。