is an option for various parallel computing functions that specifies which definitions for symbols appearing in an expression should be distributed to all parallel kernels.


  • Possible settings include:
  • "context`"all symbols in context "context`"
    {"ctx1`","ctx2`",}all symbols in the given contexts
    Nonedo not distribute any definitions
    Alldefinitions of all symbols
    Automaticall contexts appearing in expr
    $Contextall symbols in the current context
  • Definitions of symbols appearing in an expression set for parallel evaluation that match the given contexts are distributed automatically before the parallel evaluation, effectively using DistributeDefinitions.
  • Definitions for symbols on which other distributed definitions depend are also distributed, as long as they belong to one of the given contexts.
  • The initial value for most parallel computing functions is DistributedContexts:>$DistributedContexts.


open allclose all

Basic Examples  (4)

By default, definitions in the current context are distributed automatically in a parallel computation:

Do not distribute definitions of functions defined:

Distribute definitions for all symbols in all contexts appearing in a parallel computation:

Distribute only definitions in the given contexts:

Scope  (1)

Find all parallel functions that use the DistributedContexts option:

Applications  (1)

Turn off automatic distribution of definitions in all commands such as ParallelMap:

Restore the default value:

Properties & Relations  (1)

The default setting of DistributedContexts in most parallel commands:

The default value of $DistributedContexts is $Context:

Parallelize uses a different default setting:

Introduced in 2010