MATLAB Coder генерирует C/C++ код из кода алгоритмов MATLAB для различных аппаратных платформ, от настольных систем до встраиваемых платформ. Поддерживается большая часть языка MATLAB и широкий набор тулбоксов. Поддерживается генерация как исходного кода, так и статических и динамических библиотек. Сгенерированный код является читаемым и переносимым. Унаследованный код и библиотеки могут быть подключены к MATLAB, чтобы получить максимальную эффективность для ключевых частей алгоритма или чтобы повторно использовать ранее созданные алгоритмы. Для ускорения расчетов алгоритмов, разработанных в MATLAB можно сгенерировать MEX-функцию, исполняющуюся в MATLAB.

Embedded Coder расширяет MATLAB Coder и поддерживает настройки кода, специфичные для конкретной целевой платформы, создания платформозависимого кода, а также верификции кода в режимах SIL и PIL.

Чтобы развернуть программы MATLAB как автономные приложения, используйте MATLAB Compiler. Чтобы сгенерировать программные компоненты для интеграции с другими языками программирования, используйте MATLAB Compiler SDK.

Кроссплатформенный код

Поддержка языка и инструментов MATLAB для генерации кода
Поддержка языка и инструментов MATLAB для генерации кода

Создание читаемого и переносимого ANSI C-кода. Развертывание кода без лицензионных платежей.

Развертывание алгоритмов без лицензионных платежей

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

MATLAB Coder: Истории успеха

Инженеры и ученые в различных отраслях промышленности используют MATLAB Coder для создания C-кода для своих приложений.

Поддерживаемые инструменты и функции MATLAB

MATLAB Coder генерирует код из широкого спектра возможностей языка MATLAB, которые инженеры-проектировщики используют для разработки алгоритмов в качестве компонентов более крупных систем. Это включает в себя более 2500 операторов и функций из MATLAB и сопутствующих инструментов.

Поддержка языка и инструментов MATLAB для генерации кода Поддержка языка и инструментов MATLAB для генерации кода

Прототипирование на оборудовании

Быстрое создание прототипов на встроенных и мобильных платформах
Быстрое создание прототипов на встроенных и мобильных платформах
Быстрое создание прототипов на встроенных и мобильных платформах Быстрое создание прототипов на встроенных и мобильных платформах

Быстрый переход к реализации алгоритмов в железе при помощи автоматической трансляции алгоритмов в С-код.

Прототипирование на настольных и облачных платформах

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

Прототипирование на встраиваемых и мобильных платформах

Генерация кода для любого устройства при помощи ручной интеграции сгенерированного кода и кода приложений. Автоматизация процесса развертывания алгоритмов для Raspberry Pi с использованием пакета поддержки MATLAB для Raspberry Pi.

Переход от прототипа к серии

Embedded Coder расширяет возможности MATLAB Coder для генерации кода, использующего преимущества встроенных функций процессора, которые выполняются быстрее, чем стандартный код ANSI/ISO C/C++.

Интеграция с программным обеспечением

Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder
Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder

Переиспользование алгоритмов MATLAB в виде C-кода в пользовательском ПО.

Генерация кода с простыми интерфейсами

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

Оптимизация производительности сгенерированного кода

Сгенерированный код может быть оптимизирован, чтобы обеспечить компромисс между скоростью выполнения, использованием памяти, удобочитаемостью и переносимостью. Инструменты профилирования используются для выявления узких мест в коде. Для дальнейшего повышения производительности кода поддерживается генерация OpenMP-кода и вызовы оптимизированных библиотек, таких как LAPACK, BLAS и FFTW.

Повторное использование тестов MATLAB для сгенерированного кода до интеграции

Переиспользование тестов для кода MATLAB для сгенерированного кода. MATLAB Unit Test Framework используется для быстрой разработки регрессионных тестов, которые можно использовать для проверки сгенерированного C-кода.

Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder Интерактивный отчет о трассируемости с использованием MATLAB Coder и Embedded Coder

Ускорение алгоритмов

Ускорение алгоритмов с использованием графических процессоров
Ускорение алгоритмов с использованием графических процессоров
Ускорение алгоритмов с использованием графических процессоров Ускорение алгоритмов с использованием графических процессоров

Генерация C-кода и его компиляция для использования внутри MATLAB.

Ускорение алгоритмов на процессорах (CPU)

Генерация MEX-функций из алгоритмов MATLAB для ускорения их выполнения. Доступно профилирование MEX-функций для обнаружения малой производительности и планирования оптимизаций.

Ускорение алгоритмов с использованием графических процессоров (GPU)

Parallel Computing Toolbox используется для ускорения алгоритмов, работающих в MATLAB. GPU Coder позволяет сгенерировать CUDA- код для ускорения расчетов или развертывания алгоритмов, с использованием графических ускорителей NVIDIA.