Для моделей, сконфигурированных для параллельного выполнения, можно выбрать архитектуру, в которую вы хотите развернуть свою модель. Выберите из набора предопределенных архитектур в Simulink®, или можно создать интерфейс для пользовательской архитектуры. После выбора вашей архитектуры можно использовать явное разделение, чтобы задать, какие задачи работают на нем. Для получения дополнительной информации смотрите Раздел Ваша Модель Используя Явное Разделение.
Можно выбрать из предопределенных архитектур, доступных в Simulink, или можно загрузить пакеты поддержки для различных доступных архитектур.
В диалоговом окне Concurrent Execution, в панели Concurrent Execution, нажимают Select. Селектор целевой архитектуры параллельного выполнения появляется.
Выберите свою цель.
Свойство | Описание |
---|---|
| Один центральный процессор с несколькими ядрами. |
| Один центральный процессор с несколькими ядрами и двумя FPGAs. |
| Цель Simulink Real-Time™. |
| Нажмите OK, чтобы запустить Инсталлятор Пакета Поддержки. Из списка выберите цель и следуйте инструкциям. |
В окне Целевой архитектуры снимите флажок Preserve compatible properties, чтобы сбросить существующие целевые настройки свойства к их значению по умолчанию. В качестве альтернативы установите флажок Preserve compatible properties, чтобы сохранить существующие целевые настройки свойства.
Нажмите OK.
Simulink добавляет соответствующие узлы программного и аппаратного обеспечения в иерархию дерева настройки. Например, следующее иллюстрирует один узел программного обеспечения и два аппаратных узла, добавленные к дереву настройки, когда вы выбираете Sample architecture
как целевая архитектура.
Пользовательский файл архитектуры является XML-файлом, который позволяет вам задавать пользовательские целевые свойства для задач и триггеров. Например, можно хотеть задать пользовательские свойства представлять API поточной обработки. Распараллеливающие API необходимы, чтобы использовать в своих интересах параллелизм на вашем целевом процессоре.
Следующее является примером пользовательский файл архитектуры:
<architecture brief="Multicore with custom threading API" format="1.1" revision="1.1" uuid="MulticoreCustomAPI" name="MulticoreCustomAPI"> <configurationSet> <parameter name="SystemTargetFile" value="ert.tlc"/> <parameter name="SystemTargetFile" value="grt.tlc"/> </configurationSet> <node name="MulticoreProcessor" type="SoftwareNode" uuid="MulticoreProcessor"/> <template name="CustomTask" type="Task" uuid="CustomTask"> <property name="affinity" prompt="Affinity:" value="1" evaluate="true"/> <property name="schedulingPolicy" prompt="Scheduling policy:" value="Rate-monotonic"> <allowedValue>Rate-monotonic</allowedValue> <allowedValue>Round-robin</allowedValue> </property> </template> </architecture>
Файл архитектуры должен содержать:
Элемент архитектуры, который задает основную информацию, используемую Simulink, чтобы идентифицировать архитектуру.
configurationSet
элемент, который перечисляет системные конечные файлы, для которых эта архитектура допустима.
Один элемент узла, что использование Simulink, чтобы идентифицировать многожильный элемент обработки.
Архитектура должна содержать точно один элемент узла, который идентифицирует многожильный элемент обработки. Вы не можете создать несколько узлов, идентифицирующих несколько элементов обработки или архитектуру без многожильного элемента обработки.
Один или несколько элементов шаблона, которые перечисляют пользовательские свойства для задач и триггеров.
Атрибутом type может быть Task
, PeriodicTrigger
, или AperiodicTrigger
.
Каждое свойство доступно для редактирования и задало значение по умолчанию в value
атрибут.
Каждое свойство может быть текстовым полем, флажком или полем комбинированного списка. Флажок является тем, где можно установить value
припишите on
или off
. Поле комбинированного списка является тем, где можно опционально перечислить allowedValue
элементы как часть свойства.
Каждое свойство текстового поля может также опционально задать evaluate
атрибут. Это позволяет вам поместить имена переменных MATLAB® как значение свойства.
Предположение, что вы сохранили пользовательский файл целевой архитектуры в C:\custom_arch.xml
, зарегистрируйте этот файл с Simulink с помощью Simulink.architecture.register
функция.
Например:
Сохраните содержимое перечисленного XML-файла в custom_arch.xml
.
В Командном Окне MATLAB введите:
Simulink.architecture.register('custom_arch.xml')
В Командном Окне MATLAB введите:
slexMulticoreSolverExample
В редакторе Simulink откройте Configuration Parameters> панель Solver и нажмите Configure Tasks. Отображения диалогового окна Concurrent Execution.
В панели Concurrent Execution нажмите Select... под Target Architecture. Отображения окна Целевой архитектуры.
Выберите MulticoreCustomAPI
и нажмите OK.
Ваше диалоговое окно Concurrent Execution обновляется, чтобы содержать свойства Code Generation для задач как показано. Это свойства, заданные в XML-файле.