Для определенных блоков включите оптимизированные алгоритмы для упорядоченной по строкам генерации кода формата и соответствующие упорядоченные по строкам алгоритмы для симуляции модели.
Математика 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
, этот параметр включает использование алгоритмов, которые пересекают данные в упорядоченном по строкам порядке. Сгенерированный код неэффективен.
Когда Array layout установлен в Row-major
, генератор кода использует алгоритмы, которые пересекают данные в порядке развертывания по столбцам. Сгенерированный код неэффективен.
Когда Array layout установлен в Column-major
, генератор кода использует алгоритмы, которые пересекают данные в порядке развертывания по столбцам. Сгенерированный код эффективен.
Когда Array layout установлен в Row-major
, упорядоченный по строкам алгоритм работает с табличными данными, которые непрерывны в памяти. Эти табличные данные приводят к более быстрому доступу к кэшу, делая эти алгоритмы благоприятными для кэша.
Эта таблица суммирует отношение между размещением массивов и благоприятными для кэша алгоритмами. Это - лучшая практика использовать алгоритм, который оптимизирован для заданного размещения массивов, чтобы достигнуть хорошей эффективности. Например, выберите Use algorithms optimized for row-major array layout, когда Array layout будет установлен в Row-major
для генерации кода.
ArrayLayout | UseRowMajorAlgorithm | Прикладной алгоритм |
---|---|---|
Column-major | 'off' | Эффективный упорядоченный по столбцам алгоритм Рекомендуемый |
Row-major | 'off' | Неэффективный упорядоченный по столбцам алгоритм Не рекомендуемый |
Column-major | 'on' | Неэффективный упорядоченный по строкам алгоритм Не рекомендуемый |
Row-major | 'on' | Эффективный упорядоченный по строкам алгоритм Рекомендуемый |
Параметр:
UseRowMajorAlgorithm |
Ввод: символьный вектор |
Значение:
'on' | 'off' |
Значение по умолчанию:
'off' |
Приложение | Установка |
---|---|
Отладка | Никакой удар |
Трассируемость | Никакой удар |
Эффективность | Никакой удар |
Меры безопасности | Никакой удар |