Чтобы ускорить генерацию MEX-функции, задайте использование технологии компиляции в JIT. Когда вы итератируете между изменением MATLAB® код и проверка кода MEX, использование этой опции может сэкономить время.
По умолчанию MATLAB Coder™ создает функцию C/C++ MEX путем генерации и компиляции кода C/C + +. Когда вы задаете компиляцию JIT, MATLAB Coder создает функцию JIT MEX, которая содержит абстрактное представление кода MATLAB. Когда вы запускаете функцию JIT MEX, MATLAB генерирует исполняемый код в памяти.
JIT-компиляция несовместима с определенными функциями генерации кода или опциями. См. «Несовместимость компиляции JIT». Если компиляция JIT включена, отсутствие предупреждений или сообщений об ошибке во время генерации кода указывает на успешную компиляцию JIT. В отчете о генерации кода вкладка Summary указывает, что Build Type JIT MEX Function
.
Примечание
MEX-функции несовместимы между различными релизами программного обеспечения MATLAB Coder. Запустите функцию JIT MEX с помощью программного обеспечения MATLAB Coder того же релиза, которую вы использовали для генерации функции.
Чтобы открыть диалоговое окно Generate , щелкните стрелу Generate.
Установите Build type значение MEX
.
Установите флажок Use JIT compilation.
Используйте -jit
опция codegen
команда. Для примера укажите JIT-компиляцию для myfunction
:
codegen -config:mex myfunction -jit -report
Кроме того, используйте EnableJIT
параметр конфигурации кода.
cfg = coder.config('mex'); cfg.EnableJIT = true; codegen -config cfg myfunction -report
В следующей таблице представлены функции генерации кода или опции, несовместимые с JIT-компиляцией.
Несовместимость | Тип сообщения | Сгенерированный MEX | Действие |
---|---|---|---|
Пользовательский код | Предупреждение | C/C + + MEX | Чтобы избежать предупреждения, отключите JIT-компиляцию. |
Обновление информации о сборке (coder.updateBuildInfo ) | Предупреждение | C/C + + MEX | Чтобы избежать предупреждения, отключите JIT-компиляцию. |
Использование интерфейса приложения OpenMP для параллелизации for -циклы (parfor ) | Предупреждение |
| Если вы хотите параллелизации for -циклы, отключить компиляцию JIT. |
Генерация только исходного кода C/C + + | Ошибка | Ничего | Задайте JIT-компиляцию или генерацию только кода C/C + +. |