exponenta event banner

Сравнение кодера Simulink и компилятора Simulink

Simulink ® Compiler™ позволяет совместно использовать симуляции Simulink в качестве автономных исполняемых файлов. Можно создать исполняемые файлы, упаковав скомпилированную модель Simulink и код MATLAB ® для настройки, запуска и анализа моделирования. Автономные исполняемые файлы могут представлять собой приложения полного моделирования, использующие графические и пользовательские интерфейсы MATLAB, разработанные с помощью MATLAB App Designer. Для косимуляции с внешней средой моделирования можно создать автономные двоичные файлы FMU (Functional Mockup Unit, FMI), соответствующие стандарту Functional Mockup Interface (FMI).

Simulink Coder™ генерирует и выполняет код C и C++ из моделей Simulink, диаграмм Stateflow ® и функций MATLAB. Созданный исходный код может использоваться для приложений в реальном времени и не в реальном времени, быстрого прототипирования и тестирования оборудования в цикле. Можно настроить и контролировать созданный код с помощью Simulink или запустить и взаимодействовать с кодом вне MATLAB и Simulink.

Различия

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

Результаты и поддержкаКомпилятор SimulinkСимулинк-кодер
Основной сценарий использованияРазвертывание моделирования в виде автономных исполняемых файлов на настольных или производственных серверахСоздание портативного кода C/C + + для модели Simulink, который можно развернуть на встраиваемых платформах или настольных ПК
ПродукцияИсполняемый или программный компонент или общая библиотекаПереносной и читаемый исходный код C/C + +
Поддержка блоков SimulinkВсе блоки, поддерживаемые в режиме ускорителя Rapid в SimulinkПодмножество блоков Simulink
Поддерживаемые блокиВсе блоки, поддерживаемые режимом Rapid Accelerator в SimulinkПодмножество блоков Simulink
ПроизводствоПроизводственный сервер MATLABВстроенный кодер
Поддержка графики SimulinkПоддержка графики MATLAB.Ничего
Зависимости библиотекиСреда выполнения MATLABНичего

Общие вопросы о компиляторе Simulink и кодере Simulink

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

Общие вопросыКомпилятор SimulinkСимулинк-кодер
Какие файлы создаются?Общие исполняемые файлы или библиотеки вместе с необходимыми компонентами среды выполнения MATLAB. Исходный код (*.c & *.h), которые могут быть скомпилированы в общие библиотеки и исполняемые файлы
На каких платформах можно развернуть эти файлы?Все платформы, поддерживаемые MATLAB (Windows, Mac и Linux) Любая платформа, поддерживающая код ANSI/ISO C/C + +
Генерирует ли он читаемый код?Нет, только нечитаемые общие библиотеки Да, читаемый исходный код
Это быстрее, чем Simulink?Выполняется с той же скоростью, что и режим ускорителя Rapid в Simulink.Имеет потенциал быть быстрее, в зависимости от алгоритма. Генерируемый код не является более быстрым для оптимизированной функции MATLAB (например, функции FFT или обработки изображений и Computer Vision). Используйте GPU кодера GPU Coder™ для генерации исходного кода CUDA, который потенциально работает быстрее на GPU NVIDIA.
Использует ли она преимущества аппаратных ускорителей?Поддерживает те же аппаратные средства, что и MATLAB, включая графические процессоры и AVX. Многоядерные процессоры и кластеры поддерживаются с помощью Parallel Computing ToolboxКод C, выполняемый на локальных многоядерных машинах, может поддерживаться с помощью OpenMP API. Используйте кодер графического процессора для создания исходного кода CUDA, который выполняется на графических процессорах NVIDIA. Используйте Coder™ HDL для создания Verilog или VHDL, работающих на FPGA.
В чем разница в использовании памяти на рабочем столе?Сильно зависит от исполняемых файлов. Сама среда выполнения MATLAB использует больше памяти, чем Simulink Coder.Сильно зависит от кода MATLAB.
Какие форматы ввода/вывода файлов поддерживает каждое программное обеспечение?Поддерживает все форматы, поддерживаемые в MATLABОграниченная поддержка файлов: текстовые файлы, аудио и видео форматы. Не поддерживает форматы изображений.

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