Перенесите распределенный массив или gpuArray в локальную рабочую область
X = gather( может работать со следующими данными массива:A)
On a gpuArray: Переносит элементы A от графического процессора к локальной рабочей области и присваивает их X.
На распределенном массиве, вне spmd Оператор: Собирает вместе элементы A из нескольких рабочих мест в локальную рабочую область и присваивает их X.
На кодовом распределенном массиве, внутри spmd оператор или коммуникационное задание: собирает вместе элементы A и тиражирует их в X на каждом работнике.
Вы можете позвонить gather о других типах данных, такие как длинные массивы (См. gather (tall)). Если тип данных не поддерживает сбор, то gather не имеет эффекта.
Сбор массивов GPU или распределенных массивов может быть дорогостоящим и обычно не является необходимым, если вам не нужно использовать результат с функциями, которые не поддерживают эти типы массивов. Для получения дополнительной информации о поддержке функции смотрите Запуск функций MATLAB на графическом процессоре или Запуск функций MATLAB с распределенными массивами.
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) преобразует распределенный по коду массив C в массив вариантов X, так что все элементы содержатся на рабочем lab, и X - пустой двойник 0 на 0 для всех остальных работников.
[X1,X2,...,Xn] = gather(C1,C2,...,Cn,lab) собирает распределенные по коду массивы C1,C2,...,Cn в соответствующие выходы X1,X2,...,Xn, со всеми элементами на рабочем lab. Количество входных параметров и выходных аргументов должно совпадать.
Обратите внимание, что gather собирает распространяемый или распределенный массив в рабочих областях всех рабочих процессов, на которых он выполняется, или на клиенте MATLAB, соответственно, но не в обоих. Если вы используете gather в пределах spmd оператор, собранный массив доступен на клиенте через его соответствующий Composite объект; см. «Доступ к рабочим переменным с композитами». Если вы бегаете gather в связывающемся задании можно вернуть собранный массив клиенту в качестве выходного аргумента из задачи.
Как gather функция требует связи между всеми работниками, вы не можете собрать данные от всех работников на одного работника, поместив функцию в условный оператор, такой как if labindex == 1.
arrayfun | bsxfun | codistributed | distributed | gpuArray | pagefun