MATLAB编码器
MATLAB코드로부터C및c++코드를생성할수있습니다。
MATLAB编码器™는데스크탑시스템부터임베디드하드웨어까지다양한하드웨어플랫폼에서사용할수있도록MATLAB®코드로부터C및c++코드를생성하수있습니다。대부분의MATLAB언어및다양한툴박스를지원합니다。생성된코드를프로젝트에소스코드,정적라이브러리또는동적라이브러리로통합할수있습니다。이렇게생성된코드는가독성및이식성이좋습니다。이코드를기존C및c++코드와라이브러리의주요부분과결합할수있습니다。생성된코드는MATLAB에서사용할수있도록墨西哥人함수로패키징할수도있습니다。
MATLAB编码器를 嵌入式编码器®와 함께 사용하면 코드 사용자 맞춤 지정, 타겟 특정 최적화, 코드 추적성, SIL(软件在环)및 PIL(循环中的处理器)검증이 가능합니다.
MATLAB프로그램을 독립형 응용 프로그램으로 배포하려면 MATLAB编译器™를 사용할 수 있습니다. 다른 프로그래밍 언어와 통합할 수 있도록 소프트웨어 구성요소를 생성하려면 MATLAB编译器SDK™를 사용하십시오.
시작하기:
사용료 없이 알고리즘 배포
각종 C/C++컴파일러를 사용하여 컴파일하고, 데스크탑 시스템에서부터, 모바일 기기, 임베디드 하드웨어에 이르기까지 어떤 하드웨어에서도 생성된 코드를 실행할 수 있습니다. 생성된 코드는 사용료 없이 상용 응용 프로그램에서 고객에게 무료로 배포할 수 있습니다.
MATLAB编码器성공 사례
다양한 업계의 엔지니어와 과학자가 MATLAB编码器를 사용하여 각종 응용 분야에 C/C++코드를 생성하는 사례를 살펴보십시오.
지원툴박스및함수
MATLAB编码器는 다양하고 폭넓은 MATLAB언어 기능에 대해 코드를 생성할 수 있으며 설계 디자이너는 이렇게 생성된 코드로 더 큰 시스템의 구성요소가 되는 알고리즘을 개발할 수 있습니다. MATLAB및 툴박스의 2,500개가 넘는 연산자 및 함수가 코드 생성을 지원합니다.
네임스페이스를사용한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++예측 코드를 재생성하지 않고, 배포된 모델의 파라미터를 업데이트할 수 있습니다.
데스크탑및클라우드플랫폼에서프로토타이핑
MATLAB编码器앱 또는 명령줄에서 함수를 사용하여 신호 처리, 컴퓨터 비전, 딥러닝, 제어 시스템 또는 기타 응용 분야에 대해 신속하게 코드를 생성한 후 하드웨어에 맞게 코드를 컴파일할 수 있습니다.
임베디드 및 모바일 플랫폼에서 프로토타이핑
직접생성된코드를응용프로그램에통합하여타겟기기를지정할수있습니다。MATLAB支万博1manbetx持包树莓π를사용하면覆盆子π에대한절차를자동화할수있습니다。
프로토타이핑에서프로덕션으로
MATLAB编码器를嵌入式编码器와함께사용하여표준ANSI / ISO C / c++코드보다실행속도가빠른프로세서특정내장함수를활용하는코드를생성할수있습니다。
통합이 손쉬운 간단한 인터페이스로 코드 생성
생성된코드는자연스럽게C / c++형식을사용하므로외부코드와의통합이간편합니다。생성된코드를소스코드또는라이브러리로통합할수있습니다。신뢰할수있는C / c++라이브러리또는구성요소를MATLAB에가져와더충실한테스트를수행할수있으며,이는생성된코드에서도자동으로호출됩니다。
생성된코드의성능최적화
실행속도,메모리사용량,가독성,이식성간의균형을조정하도록최적화를적용할수있습니다。병목지점을찾아내려면프로파일링툴을사용할수있습니다。성능을더욱높이기위해멀티코어OpenMP코드를생성하고사용가능한경우LAPACK,布拉斯特区그리고FFTW와같은최적화된라이브러리를호출할수있습니다。
통합에앞서생성된코드에대해MATLAB테스트재사용
기존 MATLAB테스트를 재사용하여 대화형 MATLAB환경에서 생성된 코드의 동작을 검증할 수 있습니다. MATLAB단위 테스트 프레임워크를 사용하여 생성된 C/C++코드를 검증하는 데 사용할 수 있는 다양한 회귀 테스트를 신속하게 개발할 수 있습니다.
中央处理器에서 알고리즘 속도 가속화
생성된 코드를 MATLAB코드에서 墨西哥함수로 호출하여 실행 속도를 높일 수 있으나 성능은 MATLAB코드의 특성에 따라 다를 수 있습니다. 생성된 墨西哥함수를 프로파일링하여 병목 지점을 찾아내어 최적화 작업을 이 지점에 집중할 수 있습니다.