이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
병렬 빌드를 사용하여 참조 모델의 빌드 시간 단축
대규모 모델 참조 계층 구조를 포함하는 모델의 경우, 참조되는 모델들을 병렬로 빌드함으로써 코드 생성 및 컴파일 시간을 단축할 수 있습니다. Parallel Computing Toolbox™ 소프트웨어를 사용하면, 참조되는 모델에 대한 코드 생성 및 컴파일 작업을 MATLAB® 워커로 구성된 병렬 풀에 분산할 수 있습니다. MATLAB Parallel Server™ 소프트웨어도 보유하고 있다면, MATLAB Parallel Server 구성에서 코드 생성 및 컴파일 작업을 원격 근무자들에 분산시킬 수 있습니다.
참조 모델 병렬로 구축하기
참조 모델을 병렬로 빌드하려면:
모델 계층 구조의 최상위 모델에 대한 구성 파라미터 대화 상자를 엽니다.
병렬 모델 참조 빌드 활성화 체크박스를 선택하십시오.
각 MATLAB 작업자에 대해, 클라이언트의 MATLAB 환경과 일치하는 MATLAB 환경을 설정할 수 있습니다. 빌드에 대한 MATLAB 워커 초기화 드롭다운 목록에서 다음 값 중 하나를 선택하십시오:
None–– Simulink®는 워커를 초기화하지 않습니다.기본 작업 공간 복사–– Simulink는 기본 작업 공간을 각 MATLAB 워커에 복사하려고 시도합니다.최상위 모델 불러오기–– Simulink는 각 MATLAB 워커에 최상위 모델을 불러옵니다.
명령줄이나 Simulink 편집기의 코드 퍼스펙티브에서 모델을 구축하세요:
명령줄 –– 예를 들어,
slbuild를 사용하십시오. 빌드 프로세스에서는 명령 창에 빌드 로그 메시지가 표시됩니다.Simulink 편집기 코드 보기 –– Build 버튼을 클릭하세요. 빌드 프로세스에서는 진단 뷰어에 빌드 로그 메시지가 표시됩니다.
Parallel Computing Toolbox 병렬 설정인 Automatically create a parallel pool를 선택하면, MATLAB개의 워커로 구성된 병렬 풀이 자동으로 시작됩니다. 자세한 내용은 병렬 설정 지정하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
모델을 빌드할 때 병렬 워커 풀이 실행 중이 아닌 경우, MATLAB는 최신 상태가 아니며 병렬로 빌드할 수 있는 참조 모델이 있을 때에만 병렬 워커 풀을 엽니다. MATLAB는 기본 클러스터 프로파일을 사용하여 풀을 엽니다. 워커 클러스터의 기본 동작을 변경하려면 클러스터 프로파일의 속성을 수정하십시오. 병렬 설정을 변경하지 않았다면 기본 프로파일은
local입니다. 클러스터로 확장, 자동 풀 생성, 선호하는 워커 수 등을 포함한 병렬 설정을 통해 병렬 동작을 제어할 수 있습니다. 자세한 내용은 클러스터 검색 및 클러스터 프로파일 사용하기 (Parallel Computing Toolbox) 항목을 참조하십시오.병렬 연산에 대한 보다 일반적인 정보는 자동 병렬 연산을 지원하는 MATLAB 함수 실행하기 (Parallel Computing Toolbox)를 참조하십시오.
참조 모델의 병렬 빌드 모니터링
'빌드 상태' 창을 통해 다음 작업을 수행할 수 있습니다:
모델 계층 구조의 전체 구축 진행 상황을 확인합니다.
모델 계층 구조에서 개별 모델의 빌드 상태를 확인합니다.
병렬 빌드 프로세스를 취소하십시오.
'빌드 상태' 창은 모델 계층 구조의 병렬 빌드만 지원합니다. 연속 빌드 시에는 ‘빌드 상태’ 창을 사용하지 마십시오.
'빌드 상태' 창을 열려면 다음 명령줄 중 하나를 사용하십시오:
coder.buildstatus.open('modelName')slbuild('modelName', ... 'OpenBuildStatusAutomatically',true)slbuild('modelName','StandaloneCoderTarget', ... 'OpenBuildStatusAutomatically',true)
이 예제는 모델 계층 구조의 빌드 과정을 모니터링하는 방법을 보여줍니다. 계층 구조에서 ParallelBuildA1는 ParallelBuildB1, ParallelBuildB2 및 ParallelBuildB3를 참조합니다.
최상위 모델을 열어보세요.
open_system('ParallelBuildA1');
종속성 분석기를 사용하여 모델 종속성을 확인하세요. 모델링 탭의 디자인 섹션에서 아래쪽 화살표를 클릭하여 디자인 갤러리를 펼치십시오. 종속성에서 종속성 분석기를 클릭합니다.

모델 계층 구조의 병렬 빌드를 시작하고 ‘빌드 상태’ 창을 엽니다.
slbuild('ParallelBuildA1','OpenBuildStatusAutomatically',true)
### Searching for referenced models in model 'ParallelBuildA1'. ### Total of 4 models to build. ### Initializing workers for parallel model reference build. ### Parallel worker initialization complete. ### Starting parallel code generation build. ### Successfully updated the model reference code generation target for: ParallelBuildB1 ### Successfully updated the model reference code generation target for: ParallelBuildB2 ### Successfully updated the model reference code generation target for: ParallelBuildB3 ### Starting build procedure for: ParallelBuildA1 ### Successful completion of build procedure for: ParallelBuildA1 Build Summary Model reference code generation targets: Model Build Reason Status Build Duration ======================================================================================================== ParallelBuildB1 Target (ParallelBuildB1.c) did not exist. Code generated and compiled. 0h 0m 19.387s ParallelBuildB2 Target (ParallelBuildB2.c) did not exist. Code generated and compiled. 0h 0m 19.432s ParallelBuildB3 Target (ParallelBuildB3.c) did not exist. Code generated and compiled. 0h 0m 19.406s Top model targets: Model Build Reason Status Build Duration ================================================================================================================== ParallelBuildA1 Information cache folder or artifacts were missing. Code generated and compiled. 0h 0m 19.703s 4 of 4 models built (0 models already up to date) Build duration: 0h 0m 56.727s ### Cleaning up parallel workers.
‘빌드 상태’ 창에는 코드 생성기가 모델 계층 구조를 순차적으로 처리해 나가는 동안 전체 빌드 진행 상황과 각 모델의 빌드 상태가 표시됩니다.

권장 풀 크기 값은 빌드 시간을 가장 단축할 수 있는 풀 크기를 나타냅니다.
상태 열에는 다음과 같은 값이 표시될 수 있습니다:
Blocked- 종속성으로 인해 빌드가 차단되어 코드 생성기가 모델 빌드를 예약할 수 없습니다. 예를 들어, 어린이 모델의 구축이 완료되지 않았습니다.Scheduled- 병렬 빌드에서 코드 생성기는 빌드가 종속성으로 인해 차단되지 않을 때 모델 빌드를 스케줄링합니다. 병렬 풀 작업자가 사용 가능해질 때까지 모델 빌드 상태는Scheduled입니다.Building- 모델이 워커에서 구축 중입니다.Completed- 모델이 오류 없이 구축되면 상태가Completed로 변경됩니다.Error- 모델 빌드가 실패하면 상태가Error로 변경됩니다.Up To Date- 현재 생성된 코드가 최신 상태이므로 해당 모델에 대해서는 코드 생성이 필요하지 않습니다.Canceling- 빌드 취소 버튼을 클릭하면, 빌드 프로세스에서 완료되지 않은 빌드의 상태가Canceling로 변경됩니다.Canceled- 취소 작업이 완료되었습니다.
소요 시간 열에는 계층 구조 내 모델들의 빌드 시간이 표시됩니다. 전체 빌드 시간을 단축하려면, 참조된 모델의 빌드 시간을 모델 종속성 정보와 함께 분석하십시오. 그럼, 예를 들어 다음과 같은 경우를 생각해 봅시다:
참조된 모델 계층 구조를 재구성합니다.
병렬 풀의 작업자 수를 늘립니다.
참고 항목
slbuild | coder.buildstatus.open | coder.buildstatus.close