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