Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



spmd and parfor with large broadcast variables
Posted:
Jun 14, 2012 8:25 PM


Hello,
I'm new to the idea of parallel computing with matlab on a cluster. I understand that using broadcast variables, like
matlabpool 10 bigd = loadBigData(); % loads a large matrix of class double r = zeros(100,1); parfor ii = 1:100, r(ii) = doSomething(ii,bigd); end
causes a lot of extra network traffic. My first question is whether the variable bigd is sent over the network 10 times (i.e. once per lab) or 100 times (once per loop iteration).
If the answer is that the variable is broadcast 100 times, would it be possible to alleviate this by using spmd to create a copy of the broadcast variable locally on each worker? If so, how would I do that?



