exponenta event banner

Ускорение генерации MEX с помощью JIT-компиляции

Чтобы ускорить создание функции MEX, укажите использование технологии компиляции JIT. При итерации между изменением кода MATLAB ® и тестированием кода MEX использование этой опции позволяет сэкономить время .

По умолчанию MATLAB Coder™ создает функцию C/C + + MEX путем генерации и компиляции кода C/C + +. При задании компиляции JIT кодер MATLAB создает функцию JIT MEX, которая содержит абстрактное представление кода MATLAB. При запуске функции JIT MEX MATLAB генерирует исполняемый код в памяти.

Компиляция JIT несовместима с определенными функциями или параметрами генерации кода. См. раздел Несовместимость компиляции JIT. Если компиляция JIT включена, отсутствие предупреждений или сообщений об ошибках во время генерации кода указывает на успешную компиляцию JIT. В отчете о создании кода на вкладке «Сводка» указывается, что типом построения является JIT MEX Function.

Примечание

Функции JIT MEX несовместимы с различными версиями программного обеспечения MATLAB Coder. Запустите функцию JIT MEX с помощью программного обеспечения MATLAB Coder той же версии, которая использовалась для создания функции.

Укажите использование компиляции JIT в приложении кодера MATLAB

  1. Чтобы открыть диалоговое окно «Генерировать», щелкните стрелку «Генерировать».

  2. Задать для типа построения значение MEX.

  3. Установите флажок Использовать компиляцию JIT.

Укажите использование компиляции JIT в командной строке

Используйте -jit вариант codegen команда. Например, укажите JIT-компиляцию для myfunction:

codegen -config:mex myfunction -jit -report

В качестве альтернативы используйте EnableJIT параметр конфигурации кода.

cfg = coder.config('mex');
cfg.EnableJIT = true;
codegen -config cfg myfunction -report

Несовместимость компиляции JIT

В следующей таблице представлены функции или параметры генерации кода, несовместимые с компиляцией JIT.

НесовместимостьТип сообщенияСгенерированный MEXДействие
Пользовательский кодПредупреждениеC/C + + MEXЧтобы избежать предупреждения, отключите компиляцию JIT.
Обновление сведений о построении (coder.updateBuildInfo)ПредупреждениеC/C + + MEXЧтобы избежать предупреждения, отключите компиляцию JIT.
Использование интерфейса приложения OpenMP для распараллеливания for-контуры (parfor)Предупреждение
  • JIT MEX

  • Без параллелизации

Если требуется распараллеливание for-циклы, отключение компиляции JIT.
Создание только исходного кода C/C + +ОшибкаНичегоУкажите компиляцию JIT или создание только кода C/C + +.

См. также

Функции

Объекты

Связанные темы