Скорость выполнения

Улучшите скорость выполнения сгенерированного кода

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

Темы

Оптимизация процессора

Управление размещением данных и функций в памяти путем вставки прагм

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

Замените логическое на определенный целочисленный тип данных

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

Субнормальная скорость выполнения числа

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

Умножение с плавающей точкой для обработки коррекции сетевого наклона

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

Оптимизируйте сгенерированный код с помощью данных с фиксированной точкой с помощью Simulink ®, Stateflow ® и MATLAB ®

Сгенерируйте код с фиксированной точкой в Simulink®, Stateflow®, и MATLAB®.

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

Настройте сгенерированный код алгоритма с целевой оптимизацией.

Установите параметры аппаратной реализации

Задайте характеристики целевого аппаратного устройства, которые могут быть критическими при разработке встраиваемых систем (такие как размеры слов для char, short, int, и long типы данных или желаемое округление поведения в целочисленных операциях).

Оптимизация для компилятора

Оптимизация компилятора управления

Управляйте оптимизацией компилятора для вашего make-файла на уровне пользовательского интерфейса Simulink.

Оптимизация, которая повышает эффективность выполнения

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

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

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

Генератор кода может изменить порядок выполнения блока, чтобы улучшить эффективность выполнения.

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

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

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

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

Сконфигурируйте порог размотки цикла

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

Упрощение операций умножения при индексации массивов

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

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

The memset функция очищает внутреннее запоминающее устройство, независимо от типа, до целочисленного битового шаблона 0 (то есть все биты отключены).

Используйте функцию memcpy для оптимизации сгенерированного кода для назначений векторов

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

Использование условного входа ветви

Для блоков Switch и Multiport Switch Simulink выполняет только блоки, которые вычисляют вход управления и данные, которые выбирает вход управления.

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

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

Управляйте выделением памяти для массивов переменного размера в блоке MATLAB function

Отключите динамическое выделение памяти или задайте порог динамического выделения памяти для блоков MATLAB Function.

Ускорение увеличения линейной алгебры в коде, сгенерированном из блока MATLAB function

Сгенерируйте вызовы LAPACK для определенных линейных алгебр-функций в блоке MATLAB function. Укажите библиотеку LAPACK для использования.

Ускорение матричных операций в коде, сгенерированном из блока MATLAB function

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

Ускорение быстрых преобразований Фурье в коде, сгенерированном из блока MATLAB function

Сгенерируйте вызовы библиотеки FFTW для быстрых преобразований Фурье в блоке MATLAB Function. Укажите библиотеку FFTW.

Синхронизация многопоточного планирования FFTW в коде, сгенерированном из блока MATLAB function

Реализуйте методы класса коллбэка библиотеки FFT и предоставьте поддерживающий код С, чтобы предотвратить параллельный доступ к планированию FFTW.

Ускорение реализации в цикле в коде, сгенерированном использованием parfor

Реализуйте параллельные циклы for-loops в сгенерированном коде для MATLAB Function и MATLAB System блока с помощью parfor.

Сгенерируйте код SIMD из блоков Simulink

Улучшите скорость выполнения сгенерированного кода с помощью технологий Intel SSE и Intel AVX.

Рекомендуемые примеры