exponenta event banner

Сокращение объема копий данных

Настройка параметров модели для повышения скорости выполнения кода и уменьшения использования памяти

Сократите потребление ОЗУ и ПЗУ и увеличьте скорость выполнения кода за счет исключения копий данных в сгенерированном коде. Генератор кода устраняет некоторые копии данных. Можно исключить другие копии данных, настроив определенные настройки параметров модели, указав одно и то же имя для входных и выходных аргументов функциональных блоков MATLAB и используя сигналы Simulink для определения повторного использования.

Темы

Сокращение объема копий данных по умолчанию

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

Генератор кода устраняет копии данных из локальных переменных обратно в глобальные блочные структуры ввода-вывода, передавая многократно используемые выходы подсистемы в виде отдельных аргументов, а не в виде указателя на структуру, хранящуюся в глобальной памяти.

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

Генератор кода сворачивает вычисления блоков в одно выражение вместо создания отдельных операторов кода и объявлений хранения для каждого блока в модели.

Повторное использование выходных данных глобального блока в сгенерированном коде

Генератор кода пытается повторно использовать глобальные переменные.

Включение и повторное использование выходных данных локального блока в сгенерированном коде

Там, где это возможно, генератор кода объявляет блочные выходы локальными переменными, так что он потенциально может повторно использовать эти переменные.

Преобразовать копии данных в назначения указателей

Генератор кода оптимизирует сгенерированный код для назначения векторного сигнала, пытаясь заменить for назначения элементов, управляемых контурами и memcpy вызовы функций с назначениями указателей.

Оптимизация виртуальных выходных портов

Генератор кода устраняет хранение кода и данных, связанных с корневыми выходными портами, путем сохранения сигнала, поступающего в корневой выходной порт в качестве глобальной переменной.

Встроенные инвариантные сигналы

Используйте числовые значения инвариантных сигналов вместо их символических имен в сгенерированном коде.

Сокращение количества копий данных для блоков чтения и записи в хранилище данных

Генератор кода пытается исключить копии данных для блоков чтения и записи хранилища данных.

Сокращение количества копий данных для блоков назначения шины

Для моделей, содержащих блок назначения шины, генератор кода, по возможности, использует одну и ту же переменную для ввода и вывода блока.

Сокращение объема копий данных по спецификации

Удаление копий данных путем переупорядочивания операций блока в сгенерированном коде

Переупорядочить операции блока в созданном коде, чтобы исключить временные переменные и связанные копии данных.

Оптимизация сгенерированного кода с помощью сигнальных меток для управления повторным использованием буфера

Если модель имеет оптимальные параметры для удаления копий данных, можно удалить дополнительные копии данных с помощью меток сигналов.

Оптимизация использования глобальных переменных

Выберите глобальную оптимизацию ссылок на переменные, чтобы удовлетворить требованиям к использованию памяти и скорости выполнения.

Укажите повторное использование буфера для функциональных блоков MATLAB в пути

Повторное использование буферов в функциональных блоках MATLAB.

Укажите повторное использование буфера с помощью объектов Simulink.Signal

Используйте объект сигнала Simulink, чтобы указать повторное использование буфера для нескольких сигналов в пути, который может включать в себя корневой входной и выходной порты, блоки задержки и блоки единичной задержки.

Создание эффективного кода для сигналов шины

Моделирование шин для максимизации эффективности генерируемого кода.