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

6 vues (au cours des 30 derniers jours)
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

Réponse acceptée

Edric Ellis
Edric Ellis le 7 Mai 2020
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 commentaires
Bill Masters
Bill Masters le 7 Mai 2020
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 le 7 Mai 2020
the problem is solved, thank you for your time.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB Parallel Server dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by