coder.MexConfig

Пакет: кодер

Ускоряющая настройка кода возражает для использования с fiaccel

Описание

coder.MexConfig объект содержит все параметры конфигурации что fiaccel функционируйте использование при ускорении фиксированной точки через сгенерированную MEX-функцию. Чтобы использовать этот объект, сначала создайте его с помощью строчного coder.mexconfig функционируйте и затем, передайте его fiaccel функция с помощью -config опция.

Конструкция

cfg = coder.mexconfig создает coder.MexConfig объект, cfg, для fiaccel Генерация MEX-функции.

Свойства

CompileTimeRecursionLimit

Для рекурсии времени компиляции управляйте количеством копий функции, которые позволены в сгенерированном коде. Чтобы запретить рекурсию в коде MATLAB®, установите CompileTimeRecursionLimit к 0. Предел рекурсии времени компиляции по умолчанию достаточно высок для большинства рекурсивных функций, которые требуют рекурсии времени компиляции. Если генерация кода перестала работать из-за предела рекурсии времени компиляции, и вы хотите рекурсию времени компиляции, пытаетесь увеличить предел. В качестве альтернативы измените свой код MATLAB так, чтобы генератор кода использовал рекурсию во время выполнения

Значение по умолчанию: integer, 50

ConstantFoldingTimeout

Максимальное количество постоянных инструкций по папке

Задайте, как положительное целое число, максимальное количество инструкций, которые будут выполняться постоянной папкой.

Значение по умолчанию: 10000

DynamicMemoryAllocation

Динамическое выделение памяти для данных переменного размера

По умолчанию, когда это свойство установлено в 'Threshold' , динамическое выделение памяти включено для всех массивов переменного размера, размер которых больше DynamicMemoryAllocationThreshold и fiaccel выделяет память для этих данных переменного размера динамически по куче. Установите это свойство на 'Off' выделить память статически на стеке. Установите его to'AllVariableSizeArrays' выделить память для всех массивов переменного размера динамически на куче. Необходимо использовать динамическое выделение памяти во всех неограниченных данных переменного размера.

Это свойство, DynamicMemoryAllocation, включен только когда EnableVariableSizing true. Когда вы устанавливаете DynamicMemoryAllocation к `Threshold', это включает DynamicMemoryAllocationThreshold свойство.

Значение по умолчанию: Threshold

DynamicMemoryAllocationThreshold

Порог выделения памяти

Задайте целочисленный размер порога для массивов переменного размера выше который fiaccel выделяет память на куче.

Значение по умолчанию: 65536

EnableAutoExtrinsicCalls

Задайте ли fiaccel обрабатывает общие функции визуализации как внешние функции. Когда эта опция включена, fiaccel обнаруживает вызовы многих общих функций визуализации, таких как plotdisp, и figure. Это обращается к MATLAB для этих функций. Эта возможность уменьшает количество времени, что вы тратите создание вашего кода, подходящего для генерации кода. Это также удаляет требование, чтобы объявить эти функции внешнее использование coder.extrinsic функция.

Значение по умолчанию: true

EchoExpressions

Покажите результаты кода, не отключенного с точками с запятой

Установите это свойство на true чтобы иметь результаты инструкций кода, которые не завершают работу с точкой с запятой, появляются в Окне Команды MATLAB. Если вы устанавливаете это свойство на false, результаты кода не появляются в Окне Команды MATLAB.

Значение по умолчанию: true

EnableRuntimeRecursion

Позвольте рекурсивные функции в сгенерированном коде. Если ваш код MATLAB требует рекурсии во время выполнения, и этим параметром является false, сбои генерации кода.

Значение по умолчанию: true

EnableDebugging

Скомпилируйте сгенерированный код в режиме отладки

Установите это свойство на true скомпилировать сгенерированный код в режиме отладки. Установите это свойство на false скомпилировать код в режиме normal mode.

По умолчанию: false

EnableVariableSizing

Поддержка массивов переменного размера

Установите это свойство на true включить поддержку массивов переменного размера и включить DynamicMemoryAllocation свойство. Если вы устанавливаете это свойство на false, массивы переменного размера не поддержаны.

Значение по умолчанию: true

ExtrinsicCalls

Внешние вызовы функции

Внешняя функция является функцией на пути MATLAB, который сгенерированный код отправляет программному обеспечению MATLAB для выполнения. fiaccel не компилирует или генерирует код для внешних функций. Установите это свойство на true иметь fiaccel сгенерируйте код для вызова функции MATLAB, но не сгенерируйте внутренний код функции. Установите это свойство на false иметь fiaccel проигнорируйте внешнюю функцию и не сгенерируйте код для вызова функции MATLAB. Если внешняя функция влияет на выход fiaccel, ошибка компилятора происходит.

ExtrinsicCalls влияет как MEX-функции, созданные fiaccel сгенерируйте случайные числа при использовании rand MATLABrandi, и randn функции. Если внешние вызовы включены, сгенерированная MEX-функция использует глобальный поток случайных чисел MATLAB, чтобы сгенерировать случайные числа. Если внешние вызовы не включены, MEX-функция, созданная с fiaccel использует автономный генератор случайных чисел.

Если вы отключаете внешние вызовы, сгенерированная MEX-функция не может отобразить сообщения во время выполнения от error или assert операторы в вашем коде MATLAB. MEX-функция сообщает, что не может отобразить сообщение об ошибке. Чтобы видеть сообщение об ошибке, включите внешние вызовы функции и сгенерируйте MEX-функцию снова.

Значение по умолчанию: true

GenerateReport

Отчет генерации кода

Установите это свойство на true создать отчет генерации кода HTML. Установите это свойство на false не создать отчет.

По умолчанию: false

GlobalDataSyncMethod

Синхронизация глобальных данных MEX-функции с глобальной рабочей областью MATLAB

Установите это свойство на SyncAlways поэтому синхронизируйте глобальные данные при входе и выходе MEX-функции и для всех внешних вызовов, чтобы гарантировать максимальную непротиворечивость между MATLAB и сгенерированной MEX-функцией. Если внешние вызовы не влияют на глобальные данные, используйте эту опцию в сочетании с coder.extrinsic -sync:off опция, чтобы выключить синхронизацию для этих вызовов, чтобы максимизировать производительность.

Если вы устанавливаете это свойство на SyncAtEntryAndExits, глобальные данные синхронизируются только при входе и выходе MEX-функции. Если ваш код содержит внешние вызовы, но только некоторые влияют на глобальные данные, используйте эту опцию в сочетании с coder.extrinsic -sync:on опция, чтобы включить синхронизацию для этих вызовов, чтобы максимизировать производительность.

Если вы устанавливаете это свойство на NoSync, никакая синхронизация не происходит. Убедитесь, что ваша MEX-функция не взаимодействует с глобальными переменными MATLAB прежде, чем отключить синхронизацию в противном случае, несоответствия между MATLAB и MEX-функцией могут произойти.

Значение по умолчанию: SyncAlways

InlineStackLimit

Сложите размер для встроенных функций

Задайте, как положительное целое число, предел размера стека на встроенных функциях.

Значение по умолчанию: 4000

InlineThreshold

Максимальный размер функций, которые будут встроены

Задайте, как положительное целое число, максимальный размер функций, которые будут встроены.

Значение по умолчанию: 10

InlineThresholdMax

Максимальный размер функций после встраивания

Задайте, как положительное целое число, максимальный размер функций после встраивания.

Значение по умолчанию: 200

IntegrityChecks

Целостность памяти

Установите это свойство на true обнаружить любые нарушения целостности памяти в коде, сгенерированном для MATLAB. Когда нарушение обнаруживается, остановки выполнения и диагностические индикаторы сообщения. Установите это свойство на false отключить и проверки целостности памяти и стек этапа выполнения.

Значение по умолчанию: true

LaunchReport

Отображение отчета генерации кода

Установите это свойство на true открыть отчет генерации кода HTML автоматически, когда генерация кода завершается. Установите это свойство на false отключить отображение отчета автоматически. Это свойство применяется, только если вы устанавливаете GenerateReport свойство к true.

Значение по умолчанию: tRUE

ReportPotentialDifferences

Задайте, сообщить ли о потенциальных различиях в поведении между сгенерированным кодом и кодом MATLAB. Если ReportPotentialDifferences true, отчет генерации кода имеет вкладку, которая перечисляет разности потенциалов. Разность потенциалов является различием, которое происходит во время выполнения только при определенных обстоятельствах.

Значение по умолчанию: true

ResponsivenessChecks

Проверки скорости отклика

Установите это свойство на true включать проверки скорости отклика. Установите это свойство на false отключить проверки скорости отклика.

Значение по умолчанию: true

SaturateOnIntegerOverflow

Действие целочисленного переполнения

Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. Установите это свойство на true чтобы иметь переполнение насыщают. Установите это свойство на false чтобы иметь переполнение переносятся к соответствующему значению, представимому, по условию вводят.

Значение по умолчанию: true

StackUsageMax

Максимальное использование стека на приложение

Задайте, как положительное целое число, максимальное использование стека на приложение в байтах. Установите предел, который ниже, чем доступный размер стека. В противном случае переполнение стека этапа выполнения может произойти. Переполнение обнаруживает и сообщает компилятор C, не fiaccel.

Значение по умолчанию: 200000

Копировать семантику

Указатель. Чтобы изучить, как классы Handle влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

Используйте нижний регистр coder.mexconfig функция, чтобы создать кодер. Объект настройки MexConfig. Установите этот объект отключить проверки на этапе выполнения.

cfg = coder.mexconfig
% Turn off Integrity Checks, Extrinsic Calls, 
% and Responsiveness Checks
cfg.IntegrityChecks = false;
cfg.ExtrinsicCalls = false;
cfg.ResponsivenessChecks = false;
% Use fiaccel to generate a MEX function for file foo.m
fiaccel -config cfg foo