This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

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) in the Parallel Computing Toolbox documentation.

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:

  1. The outermost loop is parfor. Only that loop runs in parallel.

  2. The outermost parfor loop is in jackknife. Only jackknife runs in parallel.

  3. The outermost parfor loop is in userfcn. userfcn uses parfor in parallel.

When parfor Runs in Parallel

For help converting nested loops to use parfor, see Use Nested Functions and Variables in parfor-Loops in the Parallel Computing Toolbox documentation.

See also Quick Start Parallel Computing for Statistics and Machine Learning Toolbox™.

Was this topic helpful?