About parallel computing toolbox

Hello, everyone,
I have a code of large scale problem, and it contains many for loops, and all loops are independent. I want to compute it by parallel toolbox.
Is it enough by changing all "for" to "parfor"?
Thank you.

 采纳的回答

Walter Roberson
Walter Roberson 2013-11-10

1 个投票

It might be, but you might also find that you need to adjust the code slightly. The easiest way to find out is to try.

4 个评论

Walter, thanks.
I notice that Matlab can recognize if it is proper to use parfor. For example sometimes it shows not proper due to data is indexed but not sliced, does it mean it will report error for sure?
Actually it looks strange to me that parfor may run slower than for: tic for i=1:10^8 j=i+1; end toc takes 0.36 second, but
tic parfor i=1:10^8 j=i+1; end toc takes 34.6 seconds in my desktop.
Who can explain it? Thank you.
Using multiple threads requires starting up new processes, setting up MATLAB on them, moving the code for the thread to the new process, moving the data for the thread to the new process, running the thread, synchronizing with the original process so that the various threads do not write over each other, collecting the results, and shutting down the process. That can be a lot more time than just doing the initial code in the original thread.
It seems that it does not work cleverly.
It works only when the data structure is well planned manually.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Parallel Computing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by