Working with parfor
How Statistical Functions Use parfor
parfor
is a Parallel Computing Toolbox™ function similar to a for
loop. Parallel
statistical functions call parfor
internally.
parfor
distributes computations to worker
processors.
Characteristics of parfor
You might need to adjust your code to run in parallel, for example, you need
independent loops and the workers must be able to access the variables. For advice
on using parfor
, see Parallel for-Loops (parfor) (Parallel Computing Toolbox).
No Nested parfor
Loops
parfor
does not work in parallel when called from within
another parfor
loop, or from an spmd
block. Parallelization occurs only at the outermost level.
Suppose, for example, you want to apply jackknife
to your
function userfcn
, which calls parfor
, and
you want to call jackknife
in a loop. The following figure
shows three cases:
The outermost loop is
parfor
. Only that loop runs in parallel.The outermost
parfor
loop is injackknife
. Onlyjackknife
runs in parallel.The outermost
parfor
loop is inuserfcn
.userfcn
usesparfor
in parallel.
When parfor
Runs in Parallel
For help converting nested loops to use parfor
, see Convert for-Loops Into parfor-Loops (Parallel Computing Toolbox).
See also Quick Start Parallel Computing for Statistics and Machine Learning Toolbox™.