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


Chuck37
Posts:
95
Registered:
2/23/10


Re: Confusing spmd error
Posted:
Jan 9, 2013 12:34 PM


I feel pretty stupid, but I was able to finally observe similar behavior outside SPMD. It seems that somehow the warnings are different inside and outside, so even though stuff was acting the same, the warnings were not displayed in the client.
Is there any way to debug on a worker? I thought maybe the interactive parallel mode would allow it, but it doesn't seem to be the case, or at least I couldn't figure it out.
Edric M Ellis <eellis@mathworks.com> wrote in message <ytw6236zq03.fsf@ukeellis0l.dhcp.mathworks.com>... > "Chuck37 " <chuck3737@yahooremovethis.com> writes: > > > I have a function that is giving me an error when called within spmd > > but I can't repeat it outside. e.g: > > > > x = <something>; > > spmd > > if labindex == 1 > > y = <something> > > z = function(x,y); > > end > > end > > > > Gives me an error inside the function, but when I try to debug like this: > > > > z = function(x,y{1}) > > > > It runs through just fine. This makes debugging very difficult. > > Anyone have any idea of what would cause it not to run exactly the > > same way in each case? > > > > The error is nothing parallel related by the way, it's actually a > > singular matrix warning. > > Hmm, that's very strange. Do you still get the warning if you simply do > > x = <something>; > y = <something>; > z = function(x,y); > > How about if you do > > matlabpool open 1 > spmd > x = <something>; > y = <something>; > z = function(x,y); > end > > matlabpool close > spmd > x = <something>; > y = <something>; > z = function(x,y); > end > > One other thing that has an outside chance of making a difference is > that matlabpool workers are run in single computational thread mode, > which means some algorithms will work slightly differently. You could > try launching your desktop matlab with the "singleCompThread" switch to > see if that makes any difference. > > Cheers, > > Edric.



