exponenta event banner

Выполнение функций MATLAB для работников потоков

Сотни функций в MATLAB ® и других панелях инструментов могут выполняться на работниках потоков при создании пула с поддержкой потоков с помощьюparpool.

parpool("threads");
parfor i = 1:100
    A(i) = max(eig(rand(3)));
end
Дополнительные сведения о потоковых пулах см. в разделе ThreadPool.

Совет

Можно улучшить некоторые параллельные рабочие процессы, используя рабочие процессы, а не рабочие процессы. Дополнительные сведения о выборе между ними см. в разделе Выбор между средами на основе потоков и на основе процессов.

Проверка рабочих функций потока

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

parallel.pool.DataQueue и parallel.pool.PollableDataQueue полностью поддерживаются в работнике потока.

parpool, parfor, parfeval, parfevalOnAll, tall, и parallel.pool.Constant поддерживаются с учетом следующих ограничений.

  • Параллельный пул на основе потоков не имеет связанного объекта кластера.

  • afterEach и afterAll не поддерживаются.

  • FevalQueue не поддерживается.

  • Массивы Tall не поддерживают write и поддерживать только табличный текст и входы в память.

Другие функции параллельного языка, включая spmd и distributed не поддерживается.

Следующие основные функциональные возможности MATLAB поддерживаются в работнике потоков.

Как правило, функциональность, которая изменяет или обращается к вещам вне рабочего потока, не поддерживается, включая следующую базовую функциональность MATLAB.

Все imageDatastore и imread поддерживается в работнике потоков, за исключением следующих форматов изображений.

  • Гибкая система переноса изображений (FTS, FITS)

  • Иерархический формат данных (HDF)

  • JPEG 2000 (J2C, J2K, JP2, JPF, JPX)

  • SVS, TIF, TIFF

gpuArray поддерживается в работнике потока.

См. также