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