Legacy
The parallel computing features of the Wolfram Language entirely replace the Parallel Computing Toolkit that was available up to Mathematica Version 6. As stated in the "Introduction", this has many benefits and will help to drive the usage of parallel computing. This section describes conversion for users of the Parallel Computing Toolkit.
All the key functions for parallel computing have now become System` context symbols, as well as some of them having been renamed. Also, there is additional functionality not present previously. To help resolve these problems, a legacy package is provided.
Legacy Package
The legacy package adds support for functions that were part of Parallel Computing Toolkit, Version 2.1. It can be loaded as shown below. The shadowing warnings when loading the package are intentional, to alert you to incompatible changes.
If you load Parallel`V2`, the Parallel`Developer` context is automatically put onto your $ContextPath, so that all compatible functions are found. If you do not load Parallel`V2`, this does not happen automatically.
Name Changes
A summary of the changes in names is shown in the following table.
Old Name | New Name |
LaunchSlaves | LaunchKernels |
LaunchSlave | LaunchKernels |
ConnectSlave | Parallel`Developer`LaunchKernel |
ResetSlaves | AbortKernels |
ClearSlaves | Parallel`Developer`ClearKernels |
CloseSlaves | CloseKernels |
$Slaves | Kernels[] |
RemoteEvaluate | ParallelEvaluate |
ParallelEvaluate | ParallelCombine, Parallelize |
RemoteNeeds | ParallelNeeds |
ExportEnvironment | DistributeDefinitions |
WaitOne | WaitNext |
Wait | WaitAll |
Queue | ParallelSubmit |
SharedVariables | SetSharedVariable |
SharedDownValues | SetSharedFunction |
$SharedDownValues | $SharedFunctions |
ClearShared | UnsetShared |
$ProcessorID | $KernelID |
Listing of legacy names from the Parallel Computing Toolkit and their current equivalents.
Ambiguities
The functionality provided with ParallelEvaluate has been split into two functions, ParallelCombine and Parallelize. Some uses of ParallelEvaluate are ambiguous, and it may not always be possible to choose the correct form.
Unsupported Features
Higher values of $LoadFactor are no longer supported, because they are incompatible with virtual shared memory, which is now always in use.
Kernel Configuration
Parallel Computing Toolkit contained support for launching local kernels, as well as remote kernels launched with a suitable OS command (remote login).
In Mathematica 7, configuration of kernels to use is most easily done through the parallel preferences, available from the Evaluation menu. The legacy package tries to support existing configurations, but this may not work in all instances.