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

Justin
Justin 2012 年 3 月 22 日
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
Justin
Justin 2012 年 3 月 22 日
Ok, I read the link you sent and realize i need more work in the body. Thanks,
-Justin
Jason Ross
Jason Ross 2012 年 3 月 22 日
No problem!

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

その他の回答 (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