MATLAB Coder는 데스크탑 시스템부터 임베디드 하드웨어에 이르는 다양한 하드웨어 플랫폼에 대한 C/C++ 코드를 MATLAB 코드로부터 생성할 수 있습니다. 또한 대부분의 MATLAB 언어 및 다양한 툴박스를 지원합니다. 이렇게 생성된 코드는 가독성 및 이식성이 좋으며, 여러분의 기존 C/C++ 프로젝트에 소스 코드, 정적 라이브러리 또는 동적 라이브러리로 통합할 수 있습니다. MATLAB Coder를 사용하면 생성된 코드를 MATLAB에서 사용할 수 있는 MEX 함수로 패키징할 수 있습니다. 멀티코어 및 벡터화된 코드를 통합하고 최적화된 라이브러리를 호출하여 생성된 코드를 최적화할 수 있습니다.
MATLAB Coder에서는 코드 사용자 지정, 하드웨어 특정 최적화, 코드 추적성, SIL(Software-in-the-Loop) 및 PIL(Processor-in-the-Loop) 테스트를 사용한 코드 검증, MISRA™ 지침을 따르는 코드 준수(Embedded Coder 사용) 기능을 제공합니다.
MATLAB에서 지원하는 호스트 플랫폼에 MATLAB 프로그램을 배포하려면 MATLAB Compiler를 사용할 수 있습니다.
어디서나 실행
각종 C/C++ 컴파일러를 사용하여 생성된 코드를 컴파일하고 데스크탑 시스템부터 모바일 기기 및 임베디드 하드웨어에 이르는 모든 하드웨어에서 실행할 수 있습니다. 생성된 코드는 사용료 없이 상용 애플리케이션에서 고객에게 무료로 배포할 수 있습니다.
툴박스의 함수 사용
MATLAB Coder 앱이나 이에 상응하는 명령줄 함수를 사용하여 MATLAB 제품에서 신호 처리, 컴퓨터 비전, 딥러닝, 제어 시스템 또는 기타 응용 분야를 위한 코드를 생성할 수 있습니다.
임베디드 하드웨어에서 프로토타이핑
여러분의 알고리즘을 C/C++로 자동 변환하여 빠르게 하드웨어 단계로 갈 수 있습니다. 생성된 코드를 애플리케이션에 직접 통합하여 모든 기기를 타겟팅할 수 있습니다. MATLAB Support Package for Raspberry Pi를 사용하면 Raspberry Pi에 대한 공정을 자동화할 수 있습니다.
MATLAB에서 C++ 코드 배포
값 클래스, 핸들 클래스 및 System object 등 MATLAB 코드 내의 클래스에서 C++ 클래스를 생성할 수 있습니다. 생성된 코드를 C++ 라이브러리 또는 실행 파일로 컴파일하고 기존 C++ 애플리케이션에 통합할 수 있습니다.
생성된 코드 최적화
SIMD 명령어를 생성하고 멀티코어 OpenMP 코드로 루프를 병렬화하고 LAPACK, BLAS 및 FFTW 등의 최적화된 라이브러리를 호출할 수 있습니다. Embedded Coder와 함께 사용하여 더욱 실행 속도가 빠른 프로세서 특정 내장 코드를 생성할 수 있습니다.
딥러닝 신경망 및 머신러닝 모델 배포
ResNet-50 및 MobileNet-v2와 같은 다양한 훈련된 신경망, SVM(서포트 벡터 머신) 모델 및 결정 트리 모델을 전처리 및 후처리 논리와 함께 Intel ® 및 ARM® Cortex® 프로세서를 비롯한 각종 CPU에 배포할 수 있습니다.
소프트웨어에 통합
소프트웨어 환경 내에서 MATLAB 알고리즘을 C/C++ 소스 코드 또는 라이브러리로 재사용할 수 있습니다. 생성된 코드는 자연스러운 방식으로 C/C++ 형식을 사용하며, 기존의 신뢰할 수 있는 C/C++ 함수를 호출할 수 있으므로 외부 코드와의 통합이 간편합니다.
생성된 코드에 대해 MATLAB 테스트 재사용
기존 MATLAB 테스트를 재사용하여 대화형 방식의 MATLAB 환경에서 생성된 코드의 동작을 검증할 수 있습니다. MATLAB 단위 테스트 프레임워크를 사용하여 생성된 C/C++ 코드의 검증에 사용할 수 있는 다양한 회귀 테스트를 신속하게 개발할 수 있습니다.
알고리즘 가속화
생성된 코드를 MATLAB 코드의 MEX 함수로 호출하여 실행 속도를 높일 수 있습니다. 생성된 MEX 함수를 프로파일링하여 병목 구간 및 최적화할 부분을 식별할 수 있습니다.
제품 관련 자료:
"MATLAB 및 Embedded Coder를 통해 우리는 엔지니어를 더 투입하지 않고도 프로젝트 완료에 필요한 시간을 24개월에서 12개월로 단축할 수 있었습니다."