This is documentation for Mathematica 7, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

Parallelize

Parallelize[expr]
evaluates expr using automatic parallelization.
  • Parallelize[expr] automatically distributes different parts of the evaluation of expr among different available kernels and processors.
  • Parallelize[expr] normally gives the same result as evaluating expr, except for side effects during the computation.
  • The Method option for Parallelize specifies the parallelization method to use. Possible settings include:
"CoarsestGrained"break the computation into as many pieces as there are available kernels
"FinestGrained"break the computation into the smallest possible subunits
"EvaluationsPerKernel"→ebreak the computation into at most e pieces per kernel
"ItemsPerEvaluation"→mbreak the computation into evaluations of at most m subunits each
Automaticcompromise between overhead and load-balancing
  • Method->"CoarsestGrained" is suitable for computations involving many subunits, all of which take the same amount of time. It minimizes overhead, but does not provide any load balancing.
  • Method->"FinestGrained" is suitable for computations involving few subunits whose evaluations take different amounts of time. It leads to higher overhead, but maximizes load balancing.
Functions used need to be distributed first:
The result need not have the same length as the input:
Without a function, Parallelize simply evaluates the elements in parallel:
Count the number of primes up to one million:
Check whether 93 occurs in a list of the first 100 primes:
Evaluate a table in parallel, with or without an iterator variable:
Evaluate a product in parallel:
Expressions that cannot be parallelized are evaluated normally:
New in 7