Запустите функции MATLAB на рабочих потока

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

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

Совет

Можно улучшить некоторые параллельные рабочие процессы при помощи рабочих потока вместо рабочих процесса. Для получения дополнительной информации о выборе между этими двумя, смотрите, Выбирают Between Thread-Based и Process-Based Environments.

Проверяйте рабочего потока поддерживаемые функции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • SVS, TIF, TIFF

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

Смотрите также