Управление компиляцией циклов parfor

По умолчанию MATLAB® Coder™ генерирует код, который может запускать parfor-цикл на нескольких потоках. Для лечения parfor-циклы как циклы для, которые выполняются в одном потоке, отключить parfor одним из следующих методов:

  • При помощи codegen функция со -O disable:openmp опция в командной строке.

  • При помощи объекта строения генерации кода со свойством EnableOpenMP установите значение false. Для примера:

    cfg = coder.config('lib'); 
    cfg.EnableOpenMP = false; 
    codegen myFunction -config cfg

  • Путем установки Enable OpenMP library if possible на No под All Settings вкладкой в диалоговом окне параметров проекта.

Когда отключать parfor

Отключите parfor, если хотите:

  • Сравните времена выполнения последовательной и параллельной версий сгенерированного кода.

  • Расследовать отказы. Если параллельная версия сгенерированного кода не работает, отключите parfor и сгенерируйте последовательную версию для облегчения отладки.

  • Используйте компиляторы C, которые не поддерживают OpenMP.

См. также

Похожие темы