Parallel Programming inside a user-defined function

Hi all, I am actually quite new to the parallel computing in matlab. So I would like to ask a few questions about it.
Suppose I have written a function, which consists of a lot of parts: the first is a for loop from time zero up to time 1. The second part has a for loop from time zero to time 2. I have 5 parts in total.
Suppose I divide it into 5 cells. Is there a way to run the function to make the 5 cells go in parallel?
Or method 2: is it just write down a generalisation of each cell as a nested function and use parfor or spmd? What is the difference between parfor and spmd?
Thank you very much.

 채택된 답변

Walter Roberson
Walter Roberson 2014년 1월 2일

0 개 추천

No there is no way to make the 5 cells go in parallel. Use parfor or spmd.
I do not know the differences between the two in detail. spmd is suited for message-passing parallelization, in which the work being done by the parallel parts might not all be the same. parfor is suited for multiple iterations over a loop in which the same work is being done in each iteration.
As you are really doing 5 different kinds of work at the same time, spmd might be more suitable for you.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Parallel for-Loops (parfor)에 대해 자세히 알아보기

질문:

2014년 1월 1일

답변:

2014년 1월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by