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

Описание

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

Математика Category: и типы данных

Настройки

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

Когда Array layout (Simulink Coder) установлен в Row-major, генератор кода использует алгоритмы, чтобы обеспечить непротиворечивость числовых результатов между симуляцией и сгенерированным кодом. Иногда, сгенерированный код для этих алгоритмов может быть неэффективным. Можно позволить параметру конфигурации Use algorithms optimized for row-major array layout включить эффективные алгоритмы, которые оптимизированы для определенных блоков. Параметр Use algorithms optimized for row-major array layout влияет на симуляцию и сгенерированный код.

Этот параметр влияет только на эти блоки:

  • Сумма элементов

  • Продукт элементов

  • Интерполяционная таблица n-D

  • Интерполяция Используя предварительный поиск

  • Прямая интерполяционная таблица (n-D)

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

На
  • Когда Array layout установлен в Row-major, этот параметр включает использование эффективных алгоритмов, которые пересекают данные в упорядоченном по строкам порядке. Сгенерированный код эффективен.

  • Когда Array layout установлен в Column-major, этот параметр включает использование алгоритмов, которые пересекают данные в упорядоченном по строкам порядке. Сгенерированный код неэффективен.

'off'
  • Когда Array layout установлен в Row-major, генератор кода использует алгоритмы, которые пересекают данные в порядке развертывания по столбцам. Сгенерированный код неэффективен.

  • Когда Array layout установлен в Column-major, генератор кода использует алгоритмы, которые пересекают данные в порядке развертывания по столбцам. Сгенерированный код эффективен.

Советы

Когда Array layout установлен в Row-major, упорядоченный по строкам алгоритм работает с табличными данными, которые непрерывны в памяти. Эти табличные данные приводят к более быстрому доступу к кэшу, делая эти алгоритмы благоприятными для кэша.

Эта таблица суммирует отношение между размещением массивов и благоприятными для кэша алгоритмами. Это - лучшая практика использовать алгоритм, который оптимизирован для заданного размещения массивов, чтобы достигнуть хорошей производительности. Например, выберите Use algorithms optimized for row-major array layout, когда Array layout будет установлен в Row-major для генерации кода.

ArrayLayoutUseRowMajorAlgorithmПрикладной алгоритм
Column-major'off'

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

Рекомендуемый

Row-major'off'

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

Не рекомендуемый

Column-major'on'

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

Не рекомендуемый

Row-major'on'

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

Рекомендуемый

Информация о командной строке

Параметр: UseRowMajorAlgorithm
Ввод: символьный вектор
Значение: 'on' | 'off'
Значение по умолчанию: 'off'

Рекомендуемые настройки

ПриложениеУстановка
ОтладкаНикакой удар
ТрассируемостьНикакой удар
ЭффективностьНикакой удар
Меры безопасностиНикакой удар

Похожие темы