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

 採用された回答

Thomas
Thomas 2012 年 6 月 4 日

1 投票

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 件のコメント

oblivious
oblivious 2012 年 6 月 4 日
Have you checked your code? It does not run as well. The variable 'a' is not classified in your code too.
Thomas
Thomas 2012 年 6 月 4 日
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..
Walter Roberson
Walter Roberson 2012 年 6 月 4 日
Thomas and oblivious: which MATLAB versions are you using? Different versions might diagnose differently.
oblivious
oblivious 2012 年 6 月 4 日
im using 7.10.0(R2010a)
Thomas
Thomas 2012 年 6 月 4 日
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 2012 年 6 月 4 日
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 2012 年 6 月 4 日
Thanks Thomas
Thomas
Thomas 2012 年 6 月 4 日
is the problem with the sliced variable solved?
oblivious
oblivious 2012 年 6 月 4 日
nope, im trying it in another way
Thomas
Thomas 2012 年 6 月 4 日
I assume you are using Matlab older than R2011a..
oblivious
oblivious 2012 年 6 月 5 日
this problem was resolved in r2011a. i found in the release notes

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeParallel for-Loops (parfor) についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by