По умолчанию MATLAB® Coder™ генерирует код, который может запустить parfor
- цикл на нескольких потоках. Обрабатывать parfor
- циклы как циклы for, которые работают на одном потоке, отключите parfor
с одним из этих методов:
При помощи codegen
функция с -O disable:openmp
опция в командной строке.
При помощи генерации кода настройка возражают со свойством EnableOpenMP
установите на ложь. Например:
cfg = coder.config('lib'); cfg.EnableOpenMP = false; codegen myFunction -config cfg
Установкой Enable OpenMP library if possible к No
под вкладкой All Settings в диалоговом окне настроек проекта.
Отключите parfor, если вы хотите:
Сравните времена выполнения последовательных и параллельных версий сгенерированного кода.
Исследуйте отказы. Если параллельная версия сбоев сгенерированного кода, отключите parfor
и сгенерируйте последовательную версию, чтобы упростить отладку.
Используйте компиляторы C, которые не поддерживают OpenMP.