parfevalOnAll

Выполните функцию асинхронно на всех рабочих в параллельном пуле

Описание

F = parfevalOnAll(p,fcn,numout,in1,in2,...) запрашивает асинхронное выполнение функционального fcn на всех рабочих в параллельном пуле p. parfevalOnAll оценивает fcn на каждом рабочем с входными параметрами in1, in2..., и ожидает numout выходные аргументы. F parallel.FevalOnAllFuture объект, из которого можно получить результаты, когда все рабочие завершили выполняющийся fcn.

пример

F = parfevalOnAll(fcn,numout,in1,in2,...) запрашивает асинхронное выполнение на всех рабочих в текущем параллельном пуле. Если никакой пул не существует, это запускает новый параллельный пул, если ваши параллельные настройки не отключают автоматическое создание пулов.

Примечание

Используйте parfevalOnAll вместо parfor или spmd если вы хотите использовать clear. Это сохраняет прозрачность рабочей области. Смотрите Гарантируют Прозрачность в циклах parfor или spmd Операторах.

Примеры

свернуть все

Разгрузите a mex файл прежде, чем удалить временные папки для распределительных симуляций, с помощью clear функция. Поскольку clear имеет 0 выходные аргументы, задайте 0 в numout входной параметр parfevalOnAll.

parfevalOnAll(@clear,0,'mex');

Закройте все модели Simulink на всех рабочих:

p = gcp(); % Get the current parallel pool
f = parfevalOnAll(p,@bdclose,0,'all');
% No output arguments, but you might want to wait for completion
wait(f);

Входные параметры

свернуть все

Параллельный пул рабочих в виде parallel.Pool объект. Можно создать параллельный пул при помощи parpool функция.

Типы данных: parallel.Pool

Функция, чтобы выполниться на рабочих в виде указателя на функцию.

Пример: fcn = @sum

Типы данных: function_handle

Количество выходных аргументов, которые ожидаются от fcn.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы функции, чтобы передать fcnВ виде списка, разделенного запятыми переменных или выражений.

Выходные аргументы

свернуть все

Будущий объект, возвращенный как parallel.FevalOnAllFuture, это представляет выполнение fcn на параллельных рабочих и содержит их результаты. Использование fetchOutputs собрать результаты.

Введенный в R2013b