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 Exchange에서 Parallel for-Loops (parfor)에 대해 자세히 알아보기

질문:

2012년 6월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by