MATLAB编码器

MATLAB코드로부터Ç및C ++코드생성

MATLAB编码器™는데스크탑시스템부터임베디드하드웨어까지다양한하드웨어플랫폼을위해MATLAB®코드로부터Ç및C ++코드를생성합니다。대부분의MATLAB언어및다양한툴박스를지원합니다。생성된코드를프로젝트에소스코드,정적라이브러리또는동적라이브러리로통합할수있습니다。생성된코드는이식과해독이가능합니다。기존Ç코드및라이브러리를통합하여알고리즘의주요부분에서효율성을극대화하거나신뢰하는코드를재사용할수있습니다。또한생성된코드를MEX-功能으로패키징하여MATLAB환경에서검증또는가속화에사용할수있습니다。

嵌入式编码®는코드사용자정의,타겟별최적화,코드추적가능,SIL(软件在半实物)및PIL(处理器在所述环)검증을지원하면서프로덕션용도에서MATLAB编码器를향상합니다。

사용자인터페이스를포함한전체응용프로그램을배포하려면MATLAB编译SDK™를사용하십시오。

시작하기:

어디서든실행

해독및이식가능한ANSI C소스코드를생성합니다。로열티없이코드를배포합니다。

로열티없이알고리즘배포

ç컴파일러를사용하여컴파일하고,데스크탑시스템에서부터,모바일장치,임베디드하드웨어에이르기까지어떤하드웨어에서도생성된코드를실행할수있습니다。생성된코드는로열티가없습니다。상용응용프로그램에서고객에게무료로배포할수있습니다。

행렬곱셈을위해생성된코드

dorsaVi의료/스포츠운동분석알고리즘

지원되는툴박스및함수

MATLAB编码器는다양하고폭넓은MATLAB언어기능에대한코드생성을지원하며설계엔지니어는더큰시스템의구성요소로써알고리즘을개발하는목적으로사용할수있습니다。여기에는1900여개가넘는연산자및함수(MATLAB및연계툴박스)가포함됩니다。

코드생성을위한MATLAB언어및툴박스지원

하드웨어에서프로토타이핑

알고리즘을Ç로자동변환하여신속하게하드웨어에적용합니다。

데스크탑및클라우드플랫폼에서프로토타이핑

MATLAB编码器앱(또는동급의명령줄기능)을사용하여신호처리,컴퓨터비전,딥러닝,제어시스템또는기타응용프로그램에신속하게코드를생성한후하드웨어에맞게코드를컴파일할수있습니다。

데스크탑및클라우드플랫폼에서신속하게알고리즘프로토타이핑

임베디드및모바일플랫폼에서프로토타이핑

장치를지정하여생성된코드를응용프로그램과수동으로통합합니다。树莓派용MATLAB지원패키지를사용하여树莓派™의프로세스를자동화합니다。

임베디드및모바일플랫폼에서신속하게알고리즘프로토타이핑

프로토타이핑에서양산으로이동

MATLAB编码器를嵌入式编码®와함께사용하여표준ANSI / ISO C / C ++코드보다빠르게실행할수있는프로세서별내장함수를활용하는코드를생성할수있습니다。

생성된독립실행형코드의실행시간프로파일링

소프트웨어와통합

MATLAB알고리즘을소프트웨어환경에서Ç코드로재사용합니다。

통합이쉬운간단한인터페이스로코드생성

생성된코드는자연스럽게Ç유형을사용하므로외부코드와의통합이단순화됩니다。생성된코드를소스코드또는라이브러리로통합할수있습니다。신뢰할수있는Ç라이브러리또는구성요소를MATLAB에가져와신뢰성있는검증을수행할수있으며생성된코드에서도자동으로호출됩니다。

MATLAB编码器와嵌入式编码를사용하는대화형추적가능보고서

생성된코드의성능최적화

실행속도,메모리사용량,가독성,이식성을균형조정하기위해최적화를적용합니다。병목현상을찾아내기위해프로파일링툴을사용합니다。성능을더욱높이기위해멀티코어OpenMP的코드를생성하고사용가능한경우LAPACK,BLAS그리고FFTW와같은최적화된라이브러리를호출합니다。

OpenMP的를호출하여생성된코드의예제

통합에앞서생성된코드에대해MATLAB테스트재사용

기존MATLAB테스트를재사용하여대화형MATLAB환경에서생성된코드의동작을검증합니다。MATLAB단위테스트프레임워크를사용하여생성된Ç코드를검증하는데사용할수있는다양한회귀테스트세트를신속하게개발할수있습니다。

응용프로그램에통합하기전에생성된코드의동작을검증합니다。

알고리즘가속화

ç코드를생성하고MATLAB내에서사용할수있도록컴파일합니다。

CPU에서알고리즘가속화

생성된코드를MATLAB코드에서MEX함수로호출하여실행속도를높일수있으나성능은MATLAB코드의특성에따라다를수있습니다。생성된MEX함수를프로파일링하여병목현상을찾아내고집중적으로최적화할수있습니다。

성능의병목현상을찾기위해MEX함수를프로파일링합니다。

GPU를사용하여알고리즘가속화

并行计算工具箱™를사용하여MATLAB에서실행되는알고리즘을가속화할수있습니다。GPU编码器™를사용하여최신NVIDIA®GPU에서실행되는가속화또는배포용CUDA코드를생성할수있습니다。

移动从构造原型到生产

使用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编码器生成CUDA编码加速或部署上任何现代NVIDIA GPU上运行。

MATLAB에서ç코드를생성하는즐거움

MATLAB编码器를사용하기위한팁과모범사례를알아보고德尔福,贝克休斯,iSonea,dorsaVi등의회사에서생성된코드의성공적인응용프로그램에대해읽어보십시오。