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

7 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Edric Ellis
Edric Ellis el 7 de Mayo de 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 comentarios
Bill Masters
Bill Masters el 7 de Mayo de 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 el 7 de Mayo de 2020
the problem is solved, thank you for your time.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB Parallel Server en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by