exponenta event banner

coder.mexconfig

Пакет: кодер

Объект конфигурации ускорения кода для использования с fiaccel

Описание

A 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' для статического выделения памяти в стеке. Установить для него значение'AllVariableSizeArrays' для динамического выделения памяти для всех массивов переменного размера в куче. Необходимо использовать динамическое выделение памяти для всех неограниченных данных переменного размера.

Это свойство, DynamicMemoryAllocation, включается только тогда, когда EnableVariableSizing является true. При установке DynamicMemoryAllocation кому `Threshold', он позволяет DynamicMemoryAllocationThreshold собственность.

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

DynamicMemoryAllocationThreshold

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

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

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

EnableAutoExtrinsicCalls

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

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

EchoExpressions

Показать результаты кода, не завершенного точкой с запятой

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

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

EnableRuntimeRecursion

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

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

EnableDebugging

Компиляция созданного кода в режиме отладки

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

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

EnableVariableSizing

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

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

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

ExtrinsicCalls

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

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

ExtrinsicCalls влияет на то, как функции MEX создаются fiaccel генерировать случайные числа при использовании MATLAB rand, randi, и 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

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

Ручка. Сведения о том, как классы обработки влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

Использовать нижний регистр coder.mexconfig для создания функции coder.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