How to distinctly assign job and get the result of each worker using "parfor"?

조회 수: 3 (최근 30일)
Hello,
I'm using parallel computing toolbox in order to parallelize my computation. there is a need for assigning an identical job with different data to each worker and after the computation of workers is done, I need to distinctly get each woker's result in the client process and use each of them for another purpose. how can I do this?!
thanks

채택된 답변

Edric Ellis
Edric Ellis 2020년 5월 7일
This sounds more like a job for spmd . Read more about that here: https://www.mathworks.com/help/parallel-computing/spmd.html . Here's an extremely simple example:
spmd
myOutput = 2 * labindex; % labindex has a different value on each worker
end
myOutput{3} % gets the value from the 3rd worker
  댓글 수: 4
Bill Masters
Bill Masters 2020년 5월 7일
suppose that I have 4 workers and 4 input data as well,
conceptually I need the work be done as below, but I don't know how to organize it:
spmd
myOutput=func(data1,data2,data3,data4);
%func is a function defined before, to be done seperately
% by each worker with their own data in parallel
end
myOutput{1}
myOutput{2}
...
Bill Masters
Bill Masters 2020년 5월 7일
the problem is solved, thank you for your time.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Distributed Arrays에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by