exponenta event banner

Домен потока данных

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

Существует две основные причины использования домена потока данных в модели.

  • Повышение производительности моделирования с помощью многопоточного выполнения.

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

  • Автоматическое определение размеров сигналов для многоскоростных моделей на основе кадров.

    Если параметр Automatic frame-size calculation (Автоматический расчет размера кадра) включен, домены потока данных автоматически вычисляют размеры кадра и вставляют буферы в модель, избегая ошибок распространения размера сигнала в системах многоскоростной обработки сигналов.

Задание доменов потока данных

Чтобы создать домен потока данных, используйте блок подсистемы потока данных. Домен блока подсистемы потока данных предварительно сконфигурирован.

Преобразование существующей подсистемы в подсистему потока данных:

  1. На вкладке «Выполнение» инспектора свойств установите флажок «Задать домен выполнения».

    Если инспектор свойств не виден, на вкладке «Моделирование» в разделе «Проект» выберите «Инспектор свойств». Дополнительные сведения о инспекторе свойств см. в разделе Настройка свойств модели и блока с помощью инспектора свойств (Simulink).

  2. Выбрав подсистему, установите для параметра Domain значение Dataflow.

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

Примечание

Домены потока данных поддерживаются только на уровне подсистемы. Нельзя задать для области модели верхнего уровня значение Dataflow.

Моделирование доменов потока данных

Моделирование доменов потоков данных использует многоядерную архитектуру ЦП хост-компьютера. Он автоматически секционирует модель и моделирует подсистему с использованием нескольких потоков.

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

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

Некоторые блоки и языковые функции не поддерживаются для многопоточного моделирования. Если подсистема потока данных содержит блоки или языковые функции, которые не поддерживают многопоточное моделирование, Simulink ® выдает предупреждение, и подсистема всегда моделируется в одном потоке.

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

Параметры потока данных

Время ожидания

Для увеличения пропускной способности системы может быть выгодно увеличить задержку системы. Укажите значение задержки на вкладке «Выполнение» инспектора свойств.

Чтобы еще больше повысить производительность моделирования, Data aflow Simulation Assistant может рекомендовать значение задержки для моделирования, а также другие свойства модели. Нажмите кнопку Dataflow Assistant, чтобы открыть мастер моделирования Dataflow.

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

Чтобы принять предложенные параметры модели, рядом с пунктом Предлагаемые параметры модели для производительности моделирования щелкните Принять все (Accept all). Можно также развернуть раздел, чтобы изменить настройки по отдельности.

Нажмите кнопку Analyze (Анализ), чтобы проанализировать область потока данных на предмет производительности моделирования, и чтобы помощник по моделированию потока данных предложил оптимальную задержку для подсистемы потока данных.

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

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

Ассистент моделирования потока данных указывает количество потоков, которое будет использоваться моделью при применении рекомендуемой задержки. Нажмите кнопку Accept, чтобы применить предложенную задержку к подсистеме. Когда задержка вводится в область потока данных, выходные данные подсистемы потока данных помечаются значком задержки на холсте модели. Изменения модели в подсистеме потока данных могут потребовать анализа затрат и перераспределения.

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

Если модель содержит несколько подсистем потока данных, можно использовать Performance Advisor, чтобы проанализировать и предложить задержку для каждой из подсистем потока данных за один шаг. Чтобы найти оптимальные параметры задержки для подсистем потока данных в модели, откройте Performance Advisor. В папке Performance Advisor > Simulation > Checks that Required Simulation to Run (Проверки, требующие выполнения моделирования) выполните проверку параметров домена Check Dataflow.

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

Автоматический расчет размера рамы

Simulink может автоматически вычислять размеры кадров, необходимые для каждого блока в системе обработки сигналов на основе кадров, и вставлять буферы там, где это необходимо. Чтобы включить автоматический расчет размера кадра в подсистеме потока данных, выберите «Автоматический расчет размера кадра» на вкладке «Выполнение» инспектора свойств.

Функции, поддерживаемые для автоматического расчета размера рамы.  Автоматический расчет размера кадра поддерживается только для сигналов, типы данных которых являются одним из числовых типов (встроенные целочисленные, двойные, одиночные или фиксированные). Сигналы, использующие перечисляемый тип или тип данных которых является шиной, не поддерживаются.

Расчет размера кадра поддерживает только двумерные сигналы.

 Блоки, поддерживаемые для автоматического расчета размера рамы

Неподдерживаемые функции программного обеспечения Simulink в доменах потока данных

Подсистемы потока данных не поддерживают следующие программные функции Simulink.

Не поддерживаетсяОписание
Сигналы переменного размераПрограммное обеспечение не поддерживает сигналы переменного размера. Сигнал переменного размера - это сигнал, размер которого (количество элементов в измерении), помимо его значений, может изменяться при выполнении модели.
Ссылочные моделиБлоки модели (Simulink) не поддерживаются в доменах потока данных.
Непровиртуальные подсистемы Simulink, включая триггерную подсистему (Simulink), подсистему Enabled (Simulink) и атомарные подсистемыВ доменах потока данных поддерживаются только виртуальные подсистемы.
Блоки с непостоянным или не наследуемым временем выборкиВсе времена выборки в подсистемах потока данных должны наследоваться (-1) или константа (inf).
Непрерывные блоки

Блоки в библиотеке Continuous (Simulink) не поддерживаются в доменах потока данных.

Simulink показывает в холсте модели во время редактирования, что эти блоки не поддерживаются выделением блока оранжевым цветом.

Блоки хранилища данных

Блоки памяти хранилища данных, чтения хранилища данных и записи хранилища данных не поддерживаются в подсистемах потока данных.

Подмножество блоков Simulink

Если подсистема потока данных содержит блоки или языковые функции, которые не поддерживаются, Simulink генерирует ошибку при компиляции модели.

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

Диаграммы Stateflow ®Диаграммы потока состояний не поддерживаются внутри подсистем потока данных.
Блоки SimEvents ®Блоки SimEvents не поддерживаются внутри подсистем потока данных.
Формирование кода HDLДля моделей с подсистемами потока данных поддерживается только генерация кода C/C + +.

См. также

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