Для некоторых блоков включите оптимизированные алгоритмы для генерации кода в основном формате строки и соответствующие алгоритмы в основной строке для симуляции модели.
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
Интерполяция с использованием Prelookup
Интерполяционная таблица (n-D)
Для этих блоков алгоритмы column-major и row-major могут отличаться в порядке выхода вычислений, что, возможно, приводит к немного другим числовым значениям.
Когда 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'
|
Приложение | Настройка |
---|---|
Отладка | Никакого влияния |
Трассируемость | Никакого влияния |
Эффективность | Никакого влияния |
Меры безопасности | Никакого влияния |