2015-09-16 4 views

ответ

3

Поддерживает ли Matlab Coder в Matlab-r2014b парфор?

Да, в приведенном вами справочнике указано, что оно поддерживается.

Означает ли это, что нет снижения скорости?

Да. Вы буквально цитируете «обрабатывается как цикл for».

Так что в строгом смысле слова parfor поддерживается, т.к. он не будет выкидывать ошибку. Однако он обрабатывается так же, как MATLAB будет обрабатывать его, когда панель инструментов параллелиализации не установлена, как обычный цикл for. Таким образом, да, вы можете скомпилировать код MATLAB, содержащий parfor циклы, но они будут обрабатываться как последовательные for циклы.

Обратите внимание, что вышесказанное относится только к функциональным блокам; а @Edric отметил:

parfor ... ... создает цикл в генерируемой функции MEX или в C/C++ код, который работает параллельно на разделяемой памяти многоядерных платформ.

+0

Спасибо, я отредактировал мой вопрос – user3285148

+0

Ну, вы в основном украли мое редактирование и изменили 1 слово. Но, теперь, хорошо выглядит. – Adriaan

+2

Это правильно * только в контексте «функционального блока MATLAB» *. – Edric

4

Цикл работает в последовательном порядке, только в контексте "MATLAB Function" block

Если проверить parfor ссылку на страницу MATLAB Coder:

http://www.mathworks.com/help/coder/ref/parfor.html

Вы можете увидеть эту информацию:

parfor ... ... создает петлю в генераторе или в коде C/C++, который работает параллельно на многоядерных платформах с общей памятью.