1

У меня есть ноутбук с многоядерным процессором, и я хотел бы запустить длинный цикл, в котором выполняются симуляции Simulink. Полезно ли разбить цикл на две части (это возможно в моем случае), откройте приложение Matlab дважды и запустите скрипт Matlab в каждом из них?Полезно ли выполнять параллельные вычисления Matlab на многоядерном компьютере?

Кто-то сказал мне, что Matlab/Simulink всегда использует одно ядро ​​для каждого открытого приложения Matlab. Это верно?

ответ

3

MATLAB разделяет некоторые встроенные функции на нескольких ядрах, но в стандартном коде MATLAB используется только одно ядро. Как правило, если вы используете несколько независимых итераций, время вычисления может выиграть от распараллеливания. Вы можете сделать это легко, используя либо parfor (если у них есть Parallel Computing Toolbox), либо batch_job.

+0

Для более продолжительной дискуссии по этому вопросу см. Этот ответ: http://stackoverflow.com/questions/32146555/saving-time-and-memory-using-parfor-in-matlab/32146700#32146700 – Adriaan