MATLAB: When to use spmd and parfor function.

computingparallelparforspmd

Hi. In what situations are those two functions best suited? What's the difference between them? I never know which one to use… Thanks!

Best Answer

Here's a very brief summary:
PARFOR is much simpler to use than SPMD, and should normally be your first choice when attempting to parallelize a collection of independent calculations. You need to be sure that your calculations are not order-dependent (i.e. they must not rely on the results of preceding calculations).
SPMD is somewhat harder to use, but allows communication between workers using labSend and labReceive. This is also the appropriate choice if you wish to implement new functionality for distributed arrays.
Related Question