exponenta event banner

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

Описание

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

Категория: Математика и типы данных

Настройки

По умолчанию: Откл.

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

Этот параметр влияет только на следующие блоки:

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

  • Произведение элементов

  • n-D таблица подстановки

  • Интерполяция с использованием Prelookup

  • Таблица прямого поиска (n-D)

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

На
  • Если для параметра «Макет массива» задано значение Row-major, этот параметр позволяет использовать эффективные алгоритмы, которые пересекают данные в основном порядке строк. Созданный код эффективен.

  • Если для параметра «Макет массива» задано значение Column-major, этот параметр позволяет использовать алгоритмы, которые пересекают данные в основном порядке строк. Созданный код неэффективен.

Прочь
  • Если для параметра «Макет массива» задано значение Row-majorгенератор кода использует алгоритмы, которые пересекают данные в основном порядке столбцов. Созданный код неэффективен.

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

Совет

Если для параметра «Макет массива» задано значение Row-major, алгоритм основной строки работает с данными таблицы, которые являются смежными в памяти. Эти данные таблицы приводят к более быстрому доступу к кэшу, что делает эти алгоритмы удобными для кэша.

Эта таблица суммирует взаимосвязь между компоновкой массива и алгоритмами, удобными для кэширования. Для достижения высокой производительности рекомендуется использовать алгоритм, оптимизированный для указанной компоновки массива. Например, выберите Использовать алгоритмы, оптимизированные для макета основного массива строки, если для макета массива задано значение Row-major для генерации кода.

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

Эффективный алгоритм «основной столбец»

Рекомендуется

Row-major'off'

Неэффективный алгоритм «основной столбец»

Не рекомендуется

Column-major'on'

Неэффективный алгоритм основной строки

Не рекомендуется

Row-major'on'

Эффективный алгоритм основной строки

Рекомендуется

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

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

Рекомендуемые параметры

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

Связанные темы