Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

parfevalOnAll

병렬 풀의 모든 워커에서 비동기식으로 함수 실행

설명

F = parfevalOnAll(p,fcn,numout,in1,in2,...)는 병렬 풀 p의 모든 워커에서 함수 fcn의 비동기 실행을 요청합니다. parfevalOnAll은 입력 인수 in1,in2,...를 사용하여 각 워커에서 fcn을 실행하며 numout개의 출력 인수를 반환합니다. F는 모든 워커가 fcn의 실행을 완료했을 때 결과를 가져올 수 있는 Future 객체입니다.

예제

F = parfevalOnAll(fcn,numout,in1,in2,...)는 현재 병렬 풀의 모든 워커에서 비동기 실행을 요청합니다. 병렬 기본 설정에 자동 풀 생성이 비활성화되어 있지 않다면 풀이 없는 경우 새 병렬 풀이 시작됩니다.

참고

clear를 사용하려면 parfor 또는 spmd 대신 parfevalOnAll을 사용하십시오. 이렇게 하면 작업 공간 투명성이 유지됩니다. parfor 루프 또는 spmd 문에서 투명성 확보하기 항목을 참조하십시오.

예제

모두 축소

시뮬레이션 분산을 위해 clear 함수를 사용하여 임시 폴더를 지우기 전에 mex 파일을 언로드합니다. clear0개의 출력 인수가 있으므로 parfevalOnAllnumout 입력 인수에 0을 지정합니다.

parfevalOnAll(@clear,0,'mex');

모든 워커에서 Simulink 모델을 모두 닫습니다.

p = gcp(); % Get the current parallel pool
f = parfevalOnAll(p,@bdclose,0,'all');
% No output arguments, but you might want to wait for completion
wait(f);

입력 인수

모두 축소

워커의 병렬 풀로, parallel.Pool 객체로 지정됩니다. parpool 함수를 사용하여 병렬 풀을 만들 수 있습니다.

데이터형: parallel.Pool

워커에서 실행할 함수로, 함수 핸들로 지정됩니다.

예: fcn = @sum

데이터형: function_handle

fcn에서 예상되는 출력 인수 개수입니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

fcn에 전달할 함수 인수로, 변수 또는 표현식이 쉼표로 구분된 목록으로 지정됩니다.

출력 인수

모두 축소

Future 객체로, 병렬 워커에서의 fcn 실행을 나타내고 그 결과를 유지하는 parallel.FevalOnAllFuture로 반환됩니다. 결과를 수집하려면 fetchOutputs를 사용하십시오.

버전 내역

R2013b에 개발됨

모두 확장

R2021b에서 동작이 변경됨