Matlab编码器

从MATLAB代码生成C和C ++代码

MATLAB编码器™生成C和c++代码从MATLAB®从桌面系统到嵌入式硬件的各种硬件平台的代码。它支持金宝app大多数MATLAB语言和各种工具箱。您可以将生成的代码集成到项目中作为源代码,静态库或动态库。生成的代码是可读且便携的。您可以将其与现有C和C ++代码和库的关键部分结合起来。您还可以将生成的代码包装为MEX函数以用于MATLAB。

与嵌入式编码器一起使用时®,Matlab编码器提供代码自定义,目标特定的优化,代码可追溯性和软件循环(SIL)和处理器in-Loop(PIL)验证。

要将MATLAB程序部署为独立应用程序,请使用MATLAB Compiler™。要生成与其他编程语言集成的软件组件,请使用Matlab Compiler SDK™。

开始:

到处运行

生成可读和便携式的ANSI C / C ++源代码。部署代码免版税。

部署算法免版税

使用任何C/ c++编译器在任何硬件上编译和运行生成的代码,从桌面系统到移动设备再到嵌入式硬件。生成的代码是免版税的。在商业应用程序中,将它免费部署给您的客户。

生成矩阵的代码乘以。

金宝app支持的工具箱和功能

MATLAB编码器从广泛的MATLAB语言功能生成代码,该功能设计工程师用于开发算法作为较大系统的组件。这包括来自Matlab和Companion Toolboxes的超过2500个运算符和函数。

MATLAB语言和工具箱支持代码生成。金宝app

从MATLAB部署C ++代码

与面向对象的C ++源代码集成生成的代码。

生成带有名称空间的c++代码

MATLAB编码器可以在一个命名空间中生成c++代码,使其易于与其他可能具有相同函数或数据类型名称的源代码集成。代码生成器将所有生成的函数和类型定义打包到命名空间中。

生成的代码使用名称空间将具有相同数据类型名称的变量集成在一起。

从Matlab类生成C ++类

MATLAB编码器从MATLAB代码中的类生成c++类,包括值类、句柄类和系统对象。生成的代码可以编译成c++库或可执行文件,并可以集成到现有的c++源代码中。

在生成的函数接口中使用动态分配的C ++数组

为MATLAB函数生成c++代码,接受或返回数组大小在编译时未知,或其边界超过预定义阈值的数组。在生成的代码中,数组的内存被动态分配,并作为一个名为的类模板实现编码器:: Array.。除了异常安全的内存回收外,编码器:: Array.提供API以访问和管理动态数组。

将动态分配的数组传递给生成的函数。

部署深度学习网络和机器学习模型

从培训的深度学习网络和机器学习模型生成代码。

部署端到端深度学习算法

部署各种培训的深度学习网络,如Reset-50和MobileNet-V2,以及从深度学习工具箱™到英特尔的LSTM和其他层®和手臂®皮质®cpu。生成预处理和后处理代码,以及训练有素的深度学习网络,以部署完整的算法。

为深度学习推理生成优化代码

因为MATLAB编码器只生成代码需要运行推理与您的特定算法,代码是更快的,使用更少的内存比其他深度学习解决方案。金宝搏官方网站生成的代码调用优化库,包括用于Intel处理器的Intel MKL-DNN和用于ARM Cortex处理器的ARM计算库。使用GPU编码器™通过生成CUDA加速或部署算法®在任何现代nvidia上运行的代码®GPU。

部署端到端机器学习模型

通过为整个机器学习算法生成C / C ++代码部署统计和机器学习模型,包括预处理和后处理。更新已部署模型的参数,无需重新生成C / C ++预测代码。

用于机器学习模型的代码生成工作流程。

原型硬件

快速达到硬件,通过将算法自动转换为C / C ++。

桌面和云平台上的原型

使用MATLAB编码器应用程序或等效命令行功能快速生成信号处理,计算机视觉,深度学习,控制系统或其他应用程序的代码,然后编译硬件代码。

桌面和云平台上快速原型化算法。

嵌入式和移动平台上的原型

通过手动将生成的代码与应用程序集成,瞄准任何设备。自动化的过程为树莓派使用MATLAB支持包树莓派。金宝app

在嵌入式和移动平台上快速构建算法原型。

从原型化到生产

使用带有嵌入式编码器的MATLAB编码器来生成利用可以更快地执行的处理器特定内部的代码,这些内部可以比标准ANSI / ISO C / C ++代码更快。

所生成的独立代码的配置文件执行时间。

与软件集成

在软件环境中重用MATLAB算法作为C / C ++代码。

使用简单的接口生成代码,该码易于集成

生成的代码以自然方式使用C / C ++类型,简化与外部代码的集成。您可以将生成的代码集成为源代码或库。可信C / C ++库或组件可以进入MATLAB以获得更高保真测试,并自动从生成的代码调用。

交互式跟踪报告使用MATLAB编码器与嵌入式编码器。

优化生成代码的性能

应用优化以调整执行速度,内存使用率,可读性和可移植性之间的权衡。使用分析工具来识别瓶颈。为了进一步提升性能,可以在可用时生成多核OpenMP代码并调用优化的库,如Lapack,Blas和FFTW。

使用调用OpenMP的生成代码示例。

在集成之前重用MATLAB测试在生成的代码上

重用现有的MATLAB测试以验证交互式MATLAB环境中生成的代码的行为。使用MATLAB单元测试框架快速开发丰富的回归测试集,可用于验证生成的C / C ++代码。

在与应用程序集成之前验证生成代码的行为。

加速算法

生成C/ c++代码并在MATLAB中编译使用。

加速CPU的算法

您可以将生成的代码作为MEX函数从MATLAB代码调用以速度执行,尽管性能会根据MATLAB代码的性质而有所不同。您可以配置生成的MEX功能以识别瓶颈并重点您的优化工作。

配置文件MEX函数来识别性能瓶颈。

使用GPU加速算法

使用并行计算工具箱™加速在MATLAB中运行的算法。使用GPU编码器为在任何现代NVIDIA GPU上运行的加速或部署生成CUDA代码。