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.

 采纳的回答

Jason Ross
Jason Ross 2012-3-22

0 个投票

You aren't doing enough work to make the overhead of starting the workers worth it.

3 个评论

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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Parallel for-Loops (parfor) 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by