problem with parfor variable

Hello,
i have a large code. I am summarizing the problem using a simple code.
parfor it=1:30
for jt=1:30
a(it,jt)=some_value;
end
end
an error is shown."The variable a in a parfor cannot be classified." why cant matlab classify the variable? why does the variable 'a' fail to become a sliced variable?
Is there any other indexing scheme that can serve my purpose in the above mentioned code?
THANKS IN ADVANCE.
-OBLI

 Risposta accettata

Thomas
Thomas il 4 Giu 2012
the above code in its simple form works: just preallocate for speed
a=zeros(30,30); % preallocate variable a
parfor it=1:30
for jt=1:30
a(it,jt)=rand(1);
end
end
the error in slicing the variable might come in from the part you probably left out..

11 Commenti

oblivious
oblivious il 4 Giu 2012
Have you checked your code? It does not run as well. The variable 'a' is not classified in your code too.
Thomas
Thomas il 4 Giu 2012
It runs just fine for me.. with and without the matlabpool open..
running locally as well as on a cluster...
so apparently your pool is not set up right..
Thomas and oblivious: which MATLAB versions are you using? Different versions might diagnose differently.
oblivious
oblivious il 4 Giu 2012
im using 7.10.0(R2010a)
Thomas
Thomas il 4 Giu 2012
I have tested on 2011a,b,12 a.. Though the way matlabpool classifies variables was probably changed form 2011a.. and might be an issue in older ones..
Thomas
Thomas il 4 Giu 2012
I believe if you make the parfor the inner most loop it might work in older versions..
for it=1:30
parfor jt=1:30
a(it,jt)=rand(1);
end
end
oblivious
oblivious il 4 Giu 2012
Thanks Thomas
Thomas
Thomas il 4 Giu 2012
is the problem with the sliced variable solved?
oblivious
oblivious il 4 Giu 2012
nope, im trying it in another way
Thomas
Thomas il 4 Giu 2012
I assume you are using Matlab older than R2011a..
oblivious
oblivious il 5 Giu 2012
this problem was resolved in r2011a. i found in the release notes

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by