How can I solve the problem of communications of workers?

1 view (last 30 days)
I am trying to paralelize my Genetic Algorith Code, using codistributed function of matlab, but shows this error.. UndefinedFunction error was thrown on the workers for 'sizeofChrome_dis_local'. This may be because the file containing 'sizeofChrome_dis_local' is not accessible on the workers. I introduced a number of chromosomes of 8 and genes 2 and use a simple function as ObjFunction= @Sphere.
I appreciate any support information
Here are some lines of the code....
spmd
Chrom_dis= codistributed(Chrom, codistributor1d(1));
Chrom_dis_local= getLocalPart(Chrom_dis);
sizeofChrom_dis_local= size(Chrom_dis_local, 1);
for i=1:sizeofChrome_dis_local
Obj_local(i)= ObjFunction(Chrom_dis_local(i,:));
end
end

Answers (2)

Edric Ellis
Edric Ellis on 3 Oct 2019
In your code, you define "sizeofChrom_dis_local", but then try to loop over "sizeofChrome_dis_local" - note the extra "e". That's probably the problem.

Jorge Luis Abril Benjumea
Thank you Edric for your feedback

Community Treasure Hunt

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

Start Hunting!