Broadcast Variable Warning in MATLAB Parallel Computing Toolbox
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Kareem Elgindy
le 15 Avr 2022
Commenté : Kareem Elgindy
le 16 Mai 2022
When I ran a MATLAB code using MATLAB Parallel Computing Toolbox, I got messages like:
The entire array or structure 'a' is a broadcast variable. This might result in unnecessary communication overhead.
The entire array or structure 'b' is a broadcast variable. This might result in unnecessary communication overhead.
The entire array or structure 'L' is a broadcast variable. This might result in unnecessary communication overhead.
I then got lost. The code is still running though, but I don't know what to do exactly to avoid the messages above. Below is a description of the main part of my code:
a = (5:5:100)'; b = (-0.4:0.1:2)'; L = (0.25:0.25:10)'; la = length(a); lb = length(b); lL = length(L);
parfor jj = 1:2
err1 = zeros(la,lb,lL);
for i = 1:la
if jj == 1, bla bla bla; else, bla bla bla; end
for j = 1:lb
for k = 1:lL
err1(i,j,k) = methods(a(i),b(j),L(k));
end
end
end
end
0 commentaires
Réponse acceptée
Matt J
le 15 Avr 2022
Modifié(e) : Matt J
le 15 Avr 2022
In this case, the warnings can probably be ignored because a, b, and L are very small.
However, I don't really understand the parallelization stratgy, since the outer parfor loop is very short, and you seem to be doing almost nothing with the loop variable jj. If the intensive work is being done by methods(), I would think you would want to paralleilize over (i,j,k).
9 commentaires
Matt J
le 15 Avr 2022
Modifié(e) : Matt J
le 15 Avr 2022
I still need err1 as a matrix of 3 dimensions to do further postprocessing using commands like squeeze along the i dimension, etc. So, reshape here remains useful as suggested by
It should have been 3-dimensional from the beginning and remained so throughout. The shape was established in the declaration line,
err1 = zeros(la,lb,lL);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Parallel Computing Fundamentals 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!