Matlab Parfor with shared array?

Is there anyway to share an array between workers like below:
A = zeros(10,10)
parfor i = 1:10
for j = 1:10
A(i,j) = i*j;
end
end
I was able to run this but its slower than a regular for-loop.

 Accepted Answer

Jason Ross
Jason Ross on 22 Mar 2012
You aren't doing enough work to make the overhead of starting the workers worth it.

3 Comments

Jason,
Yea, the 10 was just as an example. I scaled it up to like 5000 and its still slower. Both give the same results. In addition, the parfor does work 6 threads from the system monitor as well. For a matrix size of 5000x5000 it takes about 4-5 seconds with parfor and 0.3 seconds with a regular forloop
Ok, I read the link you sent and realize i need more work in the body. Thanks,
-Justin
No problem!

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!