How can I solve the problem of communications of workers?

1 次查看(过去 30 天)
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

回答(2 个)

Edric Ellis
Edric Ellis 2019-10-3
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

类别

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