MATLAB Coder는 데스크탑 시스템부터 임베디드 하드웨어에 이르는 다양한 하드웨어 플랫폼에서 사용할 수 있도록 MATLAB 코드로부터 C 및 C++ 코드를 생성할 수 있습니다. 또한 대부분의 MATLAB 언어 및 다양한 툴박스를 지원합니다. 이렇게 생성된 코드는 소스 코드, 정적 라이브러리 또는 동적 라이브러리로 여러분의 프로젝트에 통합할 수 있습니다. 생성된 코드는 가독성 및 이식성이 좋습니다. 이를 기존 C 및 C++ 코드 및 라이브러리의 핵심 부분과 결합할 수 있습니다. 생성된 코드는 MATLAB에서 사용할 수 있도록 MEX 함수로 패키징할 수도 있습니다.
MATLAB Coder를 Embedded Coder와 함께 사용하면 코드 사용자 지정, 타겟 특정 최적화, 코드 추적성, SIL(Software-in-the-Loop) 및 PIL(Processor-in-the-Loop) 검증이 가능합니다.
MATLAB 프로그램을 독립 실행형 애플리케이션으로 배포하려면 MATLAB Compiler를 사용할 수 있습니다. 다른 프로그래밍 언어와 통합할 수 있도록 소프트웨어 컴포넌트를 생성하려면 MATLAB Compiler SDK를 사용할 수 있습니다.
어디서나 실행
각종 C/C++ 컴파일러를 사용하여 생성된 코드를 컴파일하고 데스크탑 시스템부터 모바일 기기 및 임베디드 하드웨어에 이르는 모든 하드웨어에서 실행할 수 있습니다. 생성된 코드는 사용료 없이 상용 애플리케이션에서 고객에게 무료로 배포할 수 있습니다.
툴박스의 함수 사용
MATLAB Coder 앱이나 이에 상응하는 명령줄 함수를 사용하여 MATLAB 및 Simulink 제품에서 신호 처리, 컴퓨터 비전, 딥러닝, 제어 시스템 또는 기타 응용 분야를 위한 코드를 생성할 수 있습니다.
임베디드 하드웨어에서 프로토타이핑
여러분의 알고리즘을 C/C++로 자동 변환하여 빠르게 하드웨어 단계로 갈 수 있습니다. 생성된 코드를 애플리케이션에 직접 통합하여 모든 기기를 타겟팅할 수 있습니다. Raspberry Pi용 MATLAB 지원 패키지를 사용하면 Raspberry Pi에 대한 공정을 자동화할 수 있습니다.
MATLAB에서 C++ 코드 배포
값 클래스, 핸들 클래스 및 시스템 객체 등 MATLAB 코드 내의 클래스에서 C++ 클래스를 생성할 수 있습니다. 생성된 코드를 C++ 라이브러리 또는 실행 파일로 컴파일하고 기존 C++ 소스 코드에 통합할 수 있습니다.
생성된 코드 최적화
멀티코어 OpenMP 코드를 생성하고 LAPACK, BLAS 및 FFTW 등의 최적화된 라이브러리를 호출할 수 있습니다. Embedded Coder와 함께 사용하여 표준 ANSI/ISO C/C++ 코드보다 실행 속도가 빠른 프로세서 특정 내장 코드를 생성할 수 있습니다.
딥러닝 신경망 및 머신러닝 모델 배포
전처리 및 후처리 논리와 함께 ResNet-50, MobileNet-v2, SVM(서포트 벡터 머신) 모델 및 결정 트리 모델 등의 다양한 훈련된 신경망을 Intel® 및 ARM® Cortex® 기반 칩을 비롯한 모든 CPU에 배포할 수 있습니다.
소프트웨어에 통합
소프트웨어 환경 내에서 MATLAB 알고리즘을 C/C++ 소스 코드 또는 라이브러리로 재사용할 수 있습니다. 생성된 코드는 자연스럽게 C/C++ 형식을 사용하므로 외부 코드와의 통합이 간편합니다. 생성된 코드에서 신뢰할 수 있는 C/C++를 자동으로 호출할 수 있습니다.
생성된 코드에 대해 MATLAB Test 재사용
기존 MATLAB 테스트를 재사용하여 대화형 방식의 MATLAB 환경에서 생성된 코드의 동작을 검증할 수 있습니다. MATLAB 단위 테스트 프레임워크를 사용하여 생성된 C/C++ 코드의 검증에 사용할 수 있는 다양한 회귀 테스트를 신속하게 개발할 수 있습니다.
알고리즘 가속화
생성된 코드를 MATLAB 코드의 MEX 함수로 호출하여 실행 속도를 높일 수 있습니다. 생성된 MEX 함수를 프로파일링하여 병목 구간 및 최적화할 부분을 식별할 수 있습니다.
제품 관련 자료:
“MATLAB, MATLAB Coder 및 Fixed-Point Designer를 통해 저희처럼 작은 팀에서 복잡한 실시간 신호 처리 알고리즘을 개발하고, 이를 최적화하여 전력 및 메모리 요구사항을 줄이고, 임베디드 코드 구현을 가속화하며 의료기기 검증에 요구되는 엄격한 테스트를 실행할 수 있었습니다.”