Асинхронное параллельное программирование

Выполняйте функции в фоновом режиме, используя parfeval

Можно вычислить функцию в фоновом режиме, не дожидаясь ее завершения, используя parfeval. Во многих случаях может быть удобно вырваться из цикла for раньше. Для примера в процедуре оптимизации можно остановить цикл раньше, когда результат достаточно хорош. Это можно сделать для одного или всех работников параллельного пула, используя parfeval или parfevalOnAll. Это может быть полезно, если вы хотите иметь возможность построить промежуточные результаты. Обратите внимание, что это отличается от использования parfor, где вы должны дождаться завершения цикла.

Использовать send и poll вместе для отправки и опроса сообщений или данных от различных работников с помощью очереди данных. Вы можете использовать afterEach добавить функцию для вызова при получении новых данных из очереди данных.

Использовать afterEach и afterAll для автоматического вызова функций после каждого или после всех элементов массива Future массив завершен. Этот массив может содержать фьючерсы, возвращенные parfeval, parfevalOnAll, afterEach или afterAll.

Темы

Вычислите функции в фоновом режиме с помощью parfeval

Вырваться из цикла раньше и собрать результаты по мере их поступления.

Запрос и отмена фьючерсов на парфевал

В этом примере показано, как запросить состояние parfeval фьючерсы и отменить их.

График во время протягивания параметра с парфеваллом

В этом примере показано, как выполнить сдвиг параллельного параметра с parfeval и отправьте результаты назад во время расчетов с DataQueue объект.

Асинхронно обновляйте пользовательский интерфейс, используя afterEach и afterAll

В этом примере показано, как обновить пользовательский интерфейс по мере завершения расчетов.

Выполните сбор изображений веб-камеры параллельно с постобработкой

Этот пример показывает, как выполнить сбор систем координат от веб-камеры параллельно с постобработкой данных.

Выполните сбор изображений и параллельную обработку изображений

В этом примере показано, как выполнить сбор изображений из веб-камеры и последующую обработку данных параллельно.

Обучите Нейронные сети для глубокого обучения параллельно

В этом примере показано, как запустить несколько экспериментов по глубокому обучению на локальной машине.

Используйте parfeval для обучения нескольких Нейронных сетей для глубокого обучения

В этом примере показано, как использовать parfeval выполнить зачистку параметра на глубине сетевой архитектуры для нейронной сети для глубокого обучения и извлечь данные во время обучения.

Выберите между spmd, parfor и parfeval

Сравнение и контрастность spmd против других функций параллельных вычислений, таких как parfor и parfeval.

Функции

расширить все

parfevalВыполняйте функцию асинхронно на работнике параллельного пула
parfevalOnAllВыполняйте функцию асинхронно для всех работников в параллельном пуле
ticBytesНачните подсчет байтов, переданных в параллельном пуле
tocBytesПрочитайте, сколько байтов было передано после вызова ticBytes
sendОтправка данных от работника клиенту с помощью очереди данных
poll Извлечение данных, отправленных от работника
afterEachЗадайте функцию для вызова при получении новых данных в DataQueue
afterEachЗадайте функцию, которая будет вызываться после каждой параллели. Будущее завершается
afterAllЗадайте функцию, которая будет активирована после всех параллельных. Фьючерсы завершены
fetchOutputsИзвлечение всех выходных аргументов из Future
fetchNextПолучение следующих доступных непрочитанных выходов FevalFuture
cancelОтмена постановки в очередь или выполнение будущего
isequalTrue, если фьючерсы имеют одинаковый идентификатор
waitПодождите завершения фьючерса
FutureЗапросите выполнение функции для работников параллельного пула или клиента MATLAB
parallel.PoolПараллельный пул работников
parallel.pool.DataQueueОтправляйте и слушайте данные между клиентом и работниками
parallel.pool.PollableDataQueue Отправка и опрос данных между клиентом и работниками

Рекомендуемые примеры