Mathematica provides a uniquely integrated and automated environment for parallel computing. With zero configuration, full interactivity and seamless local and network operation, the symbolic character of the
Mathematica language allows immediate support of a variety of existing and new parallel programming paradigms and data-sharing models.
Automatic Parallelization
Parallelize — evaluate an expression using automatic parallelization
ParallelTry — try different computations in parallel, giving the first result obtained
ParallelEvaluate —evaluate an expression on all parallel subkernels
DistributeDefinitions — distribute definitions to all parallel subkernels
ParallelNeeds — load the same package into all parallel subkernels
ParallelCombine — evaluate expressions in parallel and combine their results
ParallelSubmit — submit expressions to be evaluated concurrently
WaitAll — wait for all concurrent evaluations to finish
WaitNext — wait for the next of a list of concurrent evaluations to finish
SetSharedVariable — specify symbols with values to synchronize across subkernels
SetSharedFunction — specify functions whose evaluations are to be synchronized
LaunchKernels — launch a specified number of subkernels
$KernelCount — number of running subkernels
$ProcessorCount — number of processor cores on the current computer