MATLAB编码器

MATLAB编码器

MATLAB코드로부터C및c++코드를생성할수있습니다。

시작하기:

어디서든실행

가독성과 이식성이 좋은 ANSI C/C++소스 코드를 생성할 수 있습니다. 사용료 없이 코드를 배포하세요.

사용료 없이 알고리즘 배포

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

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

지원툴박스및함수

MATLAB编码器는 다양하고 폭넓은 MATLAB언어 기능에 대해 코드를 생성할 수 있으며 설계 디자이너는 이렇게 생성된 코드로 더 큰 시스템의 구성요소가 되는 알고리즘을 개발할 수 있습니다. MATLAB및 툴박스의 2,500개가 넘는 연산자 및 함수가 코드 생성을 지원합니다.

MATLAB에서 C++코드 배포

생성된 코드를 객체 지향 C++소스 코드에 통합할 수 있습니다.

네임스페이스를사용한c++코드생성

MATLAB编码器는네임스페이스에서c++코드를생성할수있으므로동일한함수또는데이터형이름을갖는다른소스코드와쉽게통합할수있습니다。코드생성기가모든생성된함수와유형정의를네임스페이스로패키징합니다。

네임스페이스로 동일한 데이터형 이름을 갖는 변수를 통합하는 생성된 코드.

MATLAB클래스에서 C++클래스 생성

MATLAB编码器는 MATLAB코드의 클래스로부터 값 클래스, 핸들 클래스, 시스템 객체 등의 C++클래스를 생성할 수 있습니다. 이렇게 생성된 코드는 C++라이브러리 또는 실행 파일로 컴파일할 수 있고, 기존 C++소스 코드에 통합할 수 있습니다.

생성된함수인터페이스에서동적으로할당되는c++배열사용

컴파일 타임에 배열 크기를 알 수 없거나 한계가 미리 정의된 임계값을 벗어나는 배열을 받거나 반환하는 MATLAB함수에 대한 C++코드를 생성할 수 있습니다. 이렇게 생성된 코드에서는 배열 메모리가 동적으로 할당되고编码器::数组라는 클래스 템플릿으로 구현됩니다. 예외에 안전한 메모리 할당 해제 기능 외에도编码器::数组는동적배열을액세스및관리하는API를제공합니다。

동적으로할당된배열을생성된함수에전달。

딥러닝신경망및머신러닝모델배포

훈련된 딥러닝 신경망과 머신러닝 모델로부터 코드를 생성할 수 있습니다.

종단간딥러닝알고리즘배포

ResNet-50, MobileNet-v2를비롯한다양한훈련된딥러닝신경망과深度学习工具箱™의LSTM및기타계층을英特尔®및 臂®皮质®中央处理器에 배포할 수 있습니다. 훈련된 딥러닝 신경망 이외에도, 전처리나 후처리에 사용되는 코드를 생성하여 전체 알고리즘을 배포할 수 있습니다.

딥러닝추론을위한최적화된코드생성

MATLAB编码器는 알고리즘에 대해 추론을 실행하는 데 필요한 코드만을 생성하므로 여타 딥러닝 솔루션보다 코드의 속도가 빠르고 메모리를 적게 사용합니다. 생성된 코드는 英特尔프로세서에 대해서는 英特尔MKL-DNN을, 臂皮质프로세서에 대해서는 ARM计算库를 비롯한 최적화된 라이브러리를 호출합니다. GPU编码器™를 사용하면 최신 英伟达®GPU에서실행되는CUDA®코드를생성하여알고리즘을가속하거나배포할수있습니다。

종단간머신러닝모델배포

전처리, 후처리를 포함한 전체 머신러닝 알고리즘에 대한 C/C++코드를 생성하여 통계량과 머신러닝 모델을 배포할 수 있습니다. C/C++예측 코드를 재생성하지 않고, 배포된 모델의 파라미터를 업데이트할 수 있습니다.

머신러닝 모델의 코드 생성 워크플로.

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

알고리즘을C / c++로자동변환하여신속하게하드웨어에적용할수있습니다。

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

MATLAB编码器앱 또는 명령줄에서 함수를 사용하여 신호 처리, 컴퓨터 비전, 딥러닝, 제어 시스템 또는 기타 응용 분야에 대해 신속하게 코드를 생성한 후 하드웨어에 맞게 코드를 컴파일할 수 있습니다.

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

직접생성된코드를응용프로그램에통합하여타겟기기를지정할수있습니다。MATLAB支万博1manbetx持包树莓π를사용하면覆盆子π에대한절차를자동화할수있습니다。

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

프로토타이핑에서프로덕션으로

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

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

소프트웨어와 통합

MATLAB알고리즘을 사용 소프트웨어 환경에서 C/C++코드로 재사용할 수 있습니다.

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

생성된코드는자연스럽게C / c++형식을사용하므로외부코드와의통합이간편합니다。생성된코드를소스코드또는라이브러리로통합할수있습니다。신뢰할수있는C / c++라이브러리또는구성요소를MATLAB에가져와더충실한테스트를수행할수있으며,이는생성된코드에서도자동으로호출됩니다。

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

생성된코드의성능최적화

실행속도,메모리사용량,가독성,이식성간의균형을조정하도록최적화를적용할수있습니다。병목지점을찾아내려면프로파일링툴을사용할수있습니다。성능을더욱높이기위해멀티코어OpenMP코드를생성하고사용가능한경우LAPACK,布拉斯特区그리고FFTW와같은최적화된라이브러리를호출할수있습니다。

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

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

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

통합에앞서생성된코드의동작검증。

알고리즘속도가속화

C/C++코드를 생성하고 MATLAB내에서 사용할 수 있도록 컴파일할 수 있습니다.

中央处理器에서 알고리즘 속도 가속화

생성된 코드를 MATLAB코드에서 墨西哥함수로 호출하여 실행 속도를 높일 수 있으나 성능은 MATLAB코드의 특성에 따라 다를 수 있습니다. 생성된 墨西哥함수를 프로파일링하여 병목 지점을 찾아내어 최적화 작업을 이 지점에 집중할 수 있습니다.

성능의병목지점을찾기위한墨西哥人함수의프로파일링。

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

并行计算工具箱™를 사용하여 MATLAB에서 실행되는 알고리즘 속도를 가속화할 수 있습니다. GPU编码器를 사용하여 가속화 또는 배포를 목적으로 英伟达GPU에서 실행할 수 있는 库达코드를 생성할 수 있습니다.