This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
Parallel Computing
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
$KernelID  ▪ Kernels  ▪ AbortKernels  ▪ CloseKernels  ▪ ...
$ProcessorCount number of processor cores on the current computer
Multi-Processor and Multicore Computation
Compile create compiled functions that run in parallel
Parallelization execute compiled functions in parallel
CompilationTarget create machine-level parallel compiled functions
CUDAFunctionLoad load a function to run on a GPU using CUDA
OpenCLFunctionLoad load a function to run on a GPU using OpenCL