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

batch

워커에서 MATLAB 스크립트 또는 함수 실행

구문

j = batch('aScript')
j = batch(myCluster,'aScript')
j = batch(fcn,N,{x1, ..., xn})
j = batch(myCluster,fcn,N,{x1,...,xn})
j = batch(...,'p1',v1,'p2',v2,...)

인수

j

일괄 처리 작업 객체입니다.

'aScript'

워커가 실행할 MATLAB 코드 스크립트입니다.

myCluster

클러스터 계산 리소스를 나타내는 cluster 객체입니다.

fcn

워커가 실행할 함수 핸들 또는 함수 이름입니다.

N

실행된 함수의 출력 인수 개수입니다.

{x1, ..., xn}

함수에 대한 입력 인수로 구성된 셀형 배열입니다.

p1, p2

작업 동작을 제어할 객체 속성 또는 기타 인수입니다.

v1, v2

대응하는 객체 속성 또는 인수의 초기값입니다.

설명

j = batch('aScript')는 디폴트 클러스터 프로파일로 지정된 클러스터의 워커에서 파일 aScript.m의 스크립트 코드를 실행합니다. (참고: 스크립트 이름 인수에 .m 파일 확장자를 포함하지 마십시오.) 함수는 스크립트를 실행하는 job 객체에 대한 핸들 j를 반환합니다. 스크립트 파일 aScript.m은 워커로 복사됩니다.

j = batch(myCluster,'aScript')는 스크립트가 cluster 객체 myCluster로 식별되는 클러스터에 따라 워커에서 실행된다는 점을 제외하고는 batch('aScript')와 동일합니다.

j = batch(fcn,N,{x1, ..., xn})은 디폴트 클러스터 프로파일로 식별되는 클러스터의 워커에서 함수 핸들 또는 함수 이름 fcn으로 지정된 함수를 실행합니다. 함수는 함수를 실행하는 job 객체에 대한 핸들 j를 반환합니다. 함수는 지정된 인수 x1,...,xn으로 실행되고 N개의 출력 인수를 반환합니다. fcn에 대한 함수 파일은 워커로 복사됩니다. (함수 이름 인수에 .m 파일 확장자를 포함하지 마십시오.)

j = batch(myCluster,fcn,N,{x1,...,xn})은 함수가 cluster 객체 myCluster로 식별되는 클러스터의 워커에서 실행된다는 점을 제외하고는 batch(fcn,N,{x1,...,xn})과 동일합니다.

j = batch(...,'p1',v1,'p2',v2,...)는 작업 동작을 수정하는 추가 파라미터-값 쌍을 허용합니다. 이러한 파라미터는 별도의 표시가 없는 한 함수와 스크립트에 대한 일괄 처리를 지원합니다. 지원되는 파라미터는 다음과 같습니다.

  • 'Workspace' — 스크립트를 호출하기 직전에 워커의 작업 공간을 정의하는 1x1 구조체입니다. 구조체의 필드 이름은 변수의 이름을 정의하며, 필드 값은 작업 공간 변수에 할당됩니다. 기본적으로 이 파라미터에는 일괄 처리가 실행되는 현재 작업 공간의 모든 변수에 대한 필드가 하나 있습니다. 이 파라미터는 스크립트 실행만 지원합니다.

  • 'Profile' — 클러스터를 식별하는 데 사용되는 클러스터 프로파일의 이름입니다. 이 옵션이 생략된 경우 디폴트 프로파일이 클러스터를 식별하는 데 사용되고 작업과 태스크 속성에 적용됩니다.

  • 'AdditionalPaths' — 스크립트 또는 함수가 실행되기 전에 워커의 MATLAB® 검색 경로에 추가할 경로를 정의하는 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열입니다. 디폴트 검색 경로는 워커와 클라이언트에서 동일하지 않을 수 있으며 이러한 경로 차이는 현재 작업 폴더(pwd), 플랫폼 또는 네트워크 파일 시스템 액세스가 다르기 때문일 수 있습니다. 'AdditionalPaths' 속성은 워커가 올바른 위치에서 필요한 코드 파일, 데이터 파일, 모델 파일 등을 찾도록 보장할 수 있습니다.

  • 'AttachedFiles' — 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열입니다. 목록의 각 문자형 벡터는 워커로 전송할 파일 또는 폴더를 식별합니다.

  • 'AutoAddClientPath' — 클라이언트의 경로에 사용자가 추가한 항목이 각 워커의 경로에 추가되는지 여부를 제어하는 논리값(true 또는 false)입니다. 디폴트 값은 true입니다.

  • 'AutoAttachFiles' — 코드 파일을 자동으로 작업에 첨부해야 할지 여부를 지정하는 논리값입니다. true인 경우 일괄 처리 스크립트나 함수가 분석되고 해당하는 코드 파일이 자동으로 워커로 전송됩니다. 디폴트 값은 true입니다.

  • 'CurrentFolder' — 스크립트가 실행되는 폴더를 나타내는 문자형 벡터입니다. 워커에 없는 폴더일 수도 있습니다. 이 속성의 디폴트 값은 batch 명령이 실행될 때의 MATLAB의 cwd입니다. 인수가 '.'이면 일괄 처리가 실행되기 전의 폴더로 그대로 유지됩니다.

  • 'CaptureDiary' — 툴박스가 함수 호출에서 diary를 수집해야 함을 나타내는 논리형 플래그입니다. 수집된 데이터에 대한 정보는 diary 함수를 참조하십시오. 디폴트 값은 true입니다.

  • 'EnvironmentVariables' — 클라이언트 세션에서 워커로 복사되는 환경 변수의 이름을 지정하는 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열입니다. 여기에 지정된 이름은 적용 가능한 병렬 프로파일에 지정된 'EnvironmentVariables' 속성에 추가되어 전체 환경 변수 목록을 구성합니다. 목록에 있지만 설정되지 않은 변수는 워커로 복사되지 않습니다. 이러한 환경 변수는 일괄 처리 작업 중에 워커에서 설정됩니다.

  • 'Pool' — 일괄 처리 작업 자체를 실행하는 워커 외에 작업을 위한 병렬 풀로 만들 워커 개수를 지정하는 정수입니다. 스크립트 또는 함수는 일괄 처리 코드 내에 있는 parforspmd와 같은 명령문의 실행을 위해 이 풀을 사용합니다. 풀에는 일괄 처리를 실행하는 워커 외에 N개의 워커가 필요하므로 클러스터에서 사용 가능한 워커는 N+1개 이상이어야 합니다. 이미 실행 중인 병렬 풀은 일괄 처리를 실행하는 데 필요하지 않습니다. 또한, 일괄 처리에서 생성되는 새 풀은 이미 열어 놓은 풀과 관련이 없습니다. 병렬 풀을 사용하여 일괄 처리 작업 실행하기 항목을 참조하십시오. 디폴트 값은 0이며, 이 경우 스크립트 또는 함수가 병렬 풀 없이 단일 워커에서만 실행됩니다.

예제

병렬 풀을 사용하지 않고 워커에서 일괄 처리 스크립트를 실행합니다.

 j = batch('script1');

실행하는 데 두 개의 추가 파일이 필요한 일괄 처리 스크립트를 실행합니다.

j = batch('myScript','AttachedFiles',{'mscr1.m','mscr2.m'});
wait(j);
load(j);

일괄 처리 스크립트를 실행하는 워커 외에 병렬 풀에 8개의 워커를 사용하여 원격 클러스터에서 일괄 처리 풀 작업을 실행합니다. diary를 캡처하고 작업의 결과를 작업 공간으로 불러옵니다. 이 작업에는 총 9개의 워커가 필요합니다.

 j = batch('script1','Pool',8,'CaptureDiary',true);
 wait(j);   % Wait for the job to finish
 diary(j)   % Display the diary
 load(j)    % Load job workspace data into client workspace

풀에 두 개의 다른 로컬 워커를 사용하는 일괄 처리 풀 작업을 로컬 워커에서 실행합니다. 이렇게 하려면 로컬 컴퓨터에서 클라이언트 외에 총 3개의 워커가 필요합니다.

 j = batch('script1','Profile','local','Pool',2);

일괄 처리 작업을 완료한 후 일괄 처리 작업의 데이터를 정리합니다.

delete(j)

10x10 확률 행렬을 생성하는 클러스터에서 일괄 처리 함수를 실행합니다.

c = parcluster();
j = batch(c,@rand,1,{10,10});

wait(j)   % Wait for the job to finish
diary(j)  % Display the diary

r = fetchOutputs(j); % Get results into a cell array
r{1}                 % Display result

일괄 처리 작업의 상태를 보거나 진행 상황을 추적하려면 Job Monitor 항목에 설명된 대로 작업 모니터를 사용하십시오. 또한 작업 모니터를 사용하여, 다른 세션에서 생성된 일괄 처리 작업을 위해 job 객체를 가져오거나 batch 호출에서 job 객체를 반환하지 않고 생성된 일괄 처리 작업을 위해 job 객체를 가져올 수도 있습니다.

일괄 처리 함수로 생성된 작업이 더 이상 필요하지 않은 경우 계속해서 클러스터 저장소 리소스를 사용하지 않도록 삭제하는 것이 좋습니다.

참고 항목

| | | |

R2008a에 개발됨