How to set up multithreading on repetitive programs

4 次查看(过去 30 天)
I am running a program which involves iterating through images and building a large matrix of results. There are no interactions or races between each iteration -- just simple brute force calculation on a different set of images. Since my computer has 8 cores, I'd like to divide up the task into 8 chunks and have them all go at the same time. I've actually done this manually by opening up 8 instances of matlab, loading the same dataset 8 times into RAM, and just changing the start and ending indexes of the program in each instance, and it worked great, reducing run time to nearly 1/8th. Of course this is silly -- is there some way to do this same process but on one instance of matlab with one dataset loaded into RAM but 8 processes?

采纳的回答

Walter Roberson
Walter Roberson 2011-2-14
You need the Parallel Processing Toolkit for this. Parfor might be suitable, as might be codistributed arrays; if not, there is always SMPD.
  1 个评论
Jiro Doke
Jiro Doke 2011-2-17
Walter, can you rename the product name to "Parallel Computing Toolbox" and add a link to it? Thanks.
http://www.mathworks.com/products/parallel-computing/

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by