MATLAB Coder

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

 

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

Embedded Coder®는 코드 사용자 정의, 타겟별 최적화, 코드 추적 가능, SIL(software-in-the-loop) 및 PIL(processor-in-the-loop) 검증을 지원하면서 프로덕션 용도에서 MATLAB Coder를 향상합니다.

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

시작하기:

어디서든 실행

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

로열티 없이 알고리즘 배포

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

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

지원되는 툴박스 및 함수

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

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

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

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

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

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

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

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

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

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

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

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

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

소프트웨어와 통합

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

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

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

MATLAB Coder와 Embedded Coder를 사용하는 대화형 추적 가능 보고서

생성된 코드의 성능 최적화

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

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

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

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

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

알고리즘 가속화

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

CPU에서 알고리즘 가속화

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

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

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

Parallel Computing Toolbox™를 사용하여 MATLAB에서 실행되는 알고리즘을 가속화할 수 있습니다. GPU Coder™를 사용하여 최신 NVIDIA® GPU에서 실행되는 가속화 또는 배포용 CUDA 코드를 생성할 수 있습니다.

GPU를 사용하여 알고리즘을 가속화합니다.

최신 기능

딥러닝

Arm 및 Intel 프로세서를 위해 YOLO v2 및 MobileNet-v2 네트워크용 코드 생성

더 많은 C++ 언어 및 객체 지향 기능을 갖는 C++ 코드 생성

더 많은 MATLAB 데이터형(categorical형, duration형, table형)을 위한 코드 생성

 

코드 생성 보고서 객체

프로그래밍 방식으로 코드 인사이트에 액세스 및 로그 빌드

MEX 프로파일링

MATLAB 프로파일러에서, 생성된 MEX 함수의 실행 시간 보기(19a 기능)

Optimization Toolbox 코드 생성

fmincon을 사용하여 비선형 제약 조건이 있는 최적화를 위한 코드 생성

Statistics and Machine Learning Toolbox 코드 생성

확률 분포 함수를 위한 코드 생성

MATLAB Online에서 MATLAB Coder 사용

이 기능과 그에 상응하는 함수에 대한 세부 정보는 릴리스 정보를 참조하십시오.

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

MATLAB Coder를 사용하기 위한 팁과 모범 사례를 알아보고 Delphi, Baker Hughes, iSonea, dorsaVi 등의 회사에서 생성된 코드의 성공적인 응용 프로그램에 대해 읽어보십시오.

무료 평가판 받기

30일 동안 사용해 보세요.

다운로드

구매하기

제품별 가격을 확인하세요.

학생이세요?

학생용 MATLAB 및 Simulink를 확인하세요.

자세히 보기