Перенос распределенного массива или gpuArray в локальную рабочую область
X = gather( может работать со следующими данными массива:A)
На gpuArray: Передает элементы A из графического процессора в локальное рабочее пространство и назначает их X.
В распределенном массиве за пределами spmd Заявление: Собирает вместе элементы A из нескольких работников в локальную рабочую область и назначает их X.
На совместно распределенном массиве, внутри spmd заявление или коммуникационное задание: собирает вместе элементы A и реплицирует их в X на каждого работника.
Вы можете позвонить gather для других типов данных, таких как массивы tall (см. 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