Передайте распределенный массив или gpuArray к локальной рабочей области
X = gather(A)
[X1,X2,...,Xn] = gather(A1,A2,...,,Xn)
X = gather(C,lab)
[X1,X2,...,Xn] = gather(C1,C2,...,Cn,lab)
X = gather(A)
может работать со следующими данными массива:
На gpuArray: Передает элементы A
от графического процессора до локальной рабочей области и присваивает их X
.
На распределенном массиве, вне spmd
оператор: Собирается элементы A
от нескольких рабочих к локальной рабочей области и присваивает их X
.
На codistributed массиве, в spmd
оператор или связывающееся задание: Собирается элементы A
и реплицирует их в X
на каждом рабочем.
Можно вызвать gather
на других типах данных, таких как длинные массивы (См. gather (tall)
). Если тип данных не поддерживает сбор, то gather
не оказывает влияния.
X = gather(gpuArray(X))
, X = gather(distributed(X))
, или X = gather(codistributed(X))
возвратите исходный массив X
.
[X1,X2,...,Xn] = gather(A1,A2,...,,Xn)
собирает несколько массивов A1,A2,...,,An
в соответствующие выходные параметры X1,X2,...,Xn
. Количество входных параметров и выходных аргументов должно соответствовать.
X = gather(C,lab)
преобразует codistributed массив C
к различному массиву X
, таким образом, что все элементы содержатся на рабочем lab
, и X
пустое 0 на 0 дважды на всех других рабочих.
[X1,X2,...,Xn] = gather(C1,C2,...,Cn,lab)
собирает codistributed массивы C1,C2,...,Cn
в соответствующие выходные параметры X1,X2,...,Xn
, со всеми элементами на рабочем lab
. Количество входных параметров и выходных аргументов должно соответствовать.
Если входной параметр к gather
не распределенный, codistributed или gpuArray, выход совпадает с входом.
Обратите внимание на то, что gather
собирает codistributed или распределенный массив в рабочих областях всех рабочих, на которых это выполняется, или на клиенте MATLAB, соответственно, но не обоих. Если вы используете gather
в spmd
оператор, собранный массив доступен на клиенте через его соответствующий Composite
объект; смотрите доступ к Переменным Рабочего с Составными объектами. Если при запуске gather
в связывающемся задании можно возвратить собранный массив в клиент как выходной аргумент от задачи.
Как gather
функция требует связи между всеми рабочими, вы не можете собрать данные от всех рабочих на одного рабочего путем размещения функции в условном операторе, таких как if labindex == 1
.
arrayfun
| bsxfun
| codistributed
| distributed
| gpuArray
| pagefun