이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

병렬 풀에서 코드 실행하기

병렬 풀이란?

병렬 풀은 계산 클러스터 또는 데스크탑에 있는 MATLAB® 워커의 집합입니다. 기본적으로 병렬 풀은 parfor와 같은 병렬 언어 기능에서 필요한 경우 자동으로 시작합니다. 병렬 기본 설정에서 디폴트 풀 크기와 클러스터를 지정할 수 있습니다. 기본 설정 패널의 병렬연산(Parallel Operation) 메뉴에서 병렬 기본 설정(Parallel Preferences)을 선택하면 풀 크기와 클러스터가 표시됩니다. 병렬연산(Parallel Operation) 메뉴에서 풀 크기와 클러스터를 변경할 수 있습니다. 또는 MATLAB 명령줄에서 parclusterparpool을 사용하여 클러스터와 풀 크기를 각각 선택할 수 있습니다. 자세한 내용은 이미지를 참조하십시오.

병렬 풀의 워커는 대화형 방식으로 사용할 수 있으며 작업이 이루어지는 동안 서로 통신할 수 있습니다. Job Monitor에서 parpool 작업을 볼 수 있습니다. 이러한 풀 워커는 대화형 방식으로 사용하도록 예약되어 있으며 다른 사용자에게는 제공되지 않습니다. 하나의 MATLAB 클라이언트 세션에서 한 번에 하나의 병렬 풀만 보유할 수 있습니다. MATLAB에서 현재 병렬 풀은 parallel.Pool 객체로 표현됩니다.

병렬 풀을 자동으로 시작하고 중지하기

기본적으로 병렬 풀은 특정 병렬 언어 기능에서 필요한 경우 자동으로 시작합니다. 다음과 같은 많은 함수가 자동으로 병렬 풀을 시작할 수 있습니다.

병렬 기본 설정에서는 풀이 실행되는 클러스터와 풀의 기본 워커 개수를 지정합니다. 기본 설정에 액세스하려면 홈(Home) 탭의 환경(Environment) 섹션에서 병렬연산(Parallel Operation) > 병렬 기본 설정을 클릭하십시오.

풀을 시작하고 중지하는 또 다른 방법

병렬 기본 설정에서 풀을 자동으로 열거나 닫는 옵션을 끌 수 있습니다. 풀이 자동으로 열리도록 선택하지 않는 경우 다음 기법을 사용하여 풀을 제어할 수 있습니다.

MATLAB 데스크탑에서 병렬 풀 제어하기

MATLAB 데스크탑의 왼쪽 아래 코너에서 병렬 상태 표시기를 사용하여 수동으로 병렬 풀을 시작할 수 있습니다.

표시기 아이콘을 클릭하고 병렬 풀 시작(Start Parallel Pool)을 선택합니다. 풀 크기와 클러스터는 병렬 기본 설정 및 디폴트 클러스터로 지정됩니다. 디폴트 클러스터는 병렬연산(Parallel Operation) > 디폴트 클러스터 메뉴에서 확인 표시로 지정됩니다.

풀이 실행 중인 경우에는 메뉴 옵션이 다릅니다. 다음을 수행할 수 있습니다.

  • 워커 개수 및 클러스터 이름 확인

  • 자동 종료 시간 변경

  • 병렬 풀 종료

풀을 중지하려는 경우 병렬 풀 종료(Shut Down Parallel Pool)를 선택해도 됩니다.

프로그래밍 인터페이스

병렬 풀 시작하기.  디폴트 설정을 사용하거나 대체 설정을 지정하여 프로그래밍 방식으로 병렬 풀을 시작하거나 중지할 수 있습니다.

기본 설정을 기반으로 병렬 풀을 열려면 다음을 수행하십시오.

parpool

특정 크기의 풀을 열려면 다음을 수행하십시오.

parpool(4)

디폴트 이외의 클러스터를 사용하고 풀이 실행되는 위치를 지정하려면 다음을 수행하십시오.

parpool('MyCluster',4)

병렬 풀 종료하기.  현재 병렬 풀을 가져와서 풀을 종료할 때 해당 객체를 사용하려면 다음을 수행하십시오.

p = gcp;
delete(p)

실행 중인 병렬 풀이 없어야 함.  인수 없이 명령 gcp를 실행할 때 실수로 풀을 열 수 있습니다. 이 문제를 방지하려면 다음을 수행하십시오.

delete(gcp('nocreate'))

풀 크기 및 클러스터 선택

풀 크기를 지정하는 위치는 여러 곳이 있습니다. 풀 크기를 제한하는 요인에는 여러 가지가 있을 수 있습니다. 병렬 풀의 실제 크기는 다음 조합으로 결정됩니다.

  1. 라이선싱 또는 클러스터 크기

    풀의 워커 개수에 대한 최대 제한은 클러스터의 워커 개수로 제한됩니다. 이 제한은 사용 가능한 MATLAB Parallel Server™ 라이선스 개수로 결정될 수 있습니다. MATLAB 작업 스케줄러의 경우, 제한은 클러스터에서 실행 중인 워커 개수로 결정될 수 있습니다. 클라이언트 컴퓨터에서 실행 중인 로컬 클러스터에는 Parallel Computing Toolbox™용 라이선스 이외의 라이선스는 필요하지 않습니다. 워커 개수에 대한 제한은 알려진 여러 데스크탑 하드웨어를 지원할 수 있을 정도로 충분히 높습니다.

  2. 클러스터 프로파일 워커 개수(NumWorkers)

    cluster 객체는 워커 개수에 대한 엄중한 제한값을 설정할 수 있으며, 이는 클러스터 프로파일에서 지정합니다. 명령줄이나 기본 설정에서 추가 워커를 요청하더라도 해당되는 프로파일에 설정된 한계를 초과할 수는 없습니다. 이 개수를 초과하면 오류가 발생합니다.

  3. 명령줄 인수

    명령줄에서 풀 크기를 지정하면 기본 설정의 설정 값을 재정의하게 됩니다. 이 값은 해당되는 클러스터 프로파일의 제한 내에 있어야 합니다.

  4. 병렬 기본 설정

    명령줄에서 풀 크기를 지정하지 않는 경우, MATLAB은 병렬 기본 설정에서 결정된 크기로 풀을 시작합니다. 이 값은 기본 설정이며 특정 워커 개수에 대한 요구 사항이나 요청이 아닙니다. 따라서 풀이 기본 설정에서 호출한 만큼 많은 워커로 시작할 수 없는 경우 오류 없이 작은 풀로 시작하게 됩니다. 생성된 풀의 크기를 제한하지 않도록 기본 설정 워커 개수(Default number of walkers) 값을 크게 설정할 수 있습니다. 정확한 워커 개수가 필요한 경우 명령줄에서 개수를 지정하십시오.

풀이 실행되는 클러스터를 선택하는 경우 다음과 같이 우선 순위가 결정됩니다.

  1. 명령줄 cluster 객체 인수는 디폴트 프로파일 설정을 재정의하고 프로파일 'MyProfile'로 식별되는 클러스터를 사용합니다.

    c = parcluster('MyProfile');
    p = parpool(c);
  2. 클러스터는 디폴트 프로파일에서 지정됩니다.

    p = parpool;

참고 항목

| | | | | | |

관련 예제

세부 정보