coder.mexconfig

Пакет: coder

Объект строения ускорения кода для использования с 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 для компиляции кода в режиме normal mode.

По умолчанию: 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

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

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

По умолчанию: 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 влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

Используйте строчную 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
Для просмотра документации необходимо авторизоваться на сайте