MATLAB: Parallel Computing (Job and task)

image processingImage Processing Toolboxparallel computingParallel Computing Toolbox

hi i try to run matlab code that runs parallel . my problem is .i have 8 for loops and i want these loops to run at the same time because they are independent .any way to do that.my code is
a=imread('x.jpg');
[xx,yy]=size(a);
while x-1>0 && y-1>0
r=mean-a(x-1,y-1);
x=x-1;
y=y-1;
end
%north
while x-1>0 && y<yy
r=mean-a(x-1,y+1);
x=x-1;
end
%north west

while x-1>0 && y+1<yy
r=mean-a(x-1,y+2);
x=x-1;
y=y+1;
end
%west
while x>0 && y+3<yy
r=mean-a(x+1,y+3);
y=y+1;
end
%north west
while x+3<xx && y+3<yy
r=mean-a(x+3,y+3);
x=x+1;
y=y+1;
end
%norht
while x-1>0 && y-1>0
r=mean-a(x+3,y+1);
x=x-1;
y=y-1;
end
%north east
while x+3<xx && y-1>0
r=mean-a(x+3,y-1);
x=x+1;
y=y-1;
end
%eset
while x>0 && y-1>0
r=mean-a(x+1,y-1);
y=y-1;
end

Best Answer

Those loops are not independent: the initial x and y values for any one of the loops depends upon the outcome of the previous loops.
If you want to execute different code per worker, then my understanding is that you would use smpd and use the labindex to switch() to the work to be done. (Or use an array of function handles and index in that by the labindex, I suppose.)
Looking at your code structure, it seems to me likely that the amount of work done would be unbalanced between the workers, with some doing little or no work. There is a high overhead cost to starting a worker, so it is best if each worker does sufficient work that the startup overhead is relatively negligible.
I cannot tell at the moment what your code is intended to do. Please do not use "mean" as a variable name, as it conflicts with the name of the important MATLAB routine mean()