レガシー
Wolfram言語の並列計算機能は, Mathematica バージョン6まで利用できた Parallel Computing Toolkit に代るものである.「はじめに」で述べているように,この新機能には多くの利点があり,並列計算の使用を促進する手助けとなる.このセクションでは,Parallel Computing Toolkit のユーザのための変換方法を説明する.
並列計算の主な関数はすべてSystem`コンテキストのシンボルになっており,名前が変更された関数もあれば,新しく機能が加わったものもある.このような変更により起り得る問題を解決するため,レガシーパッケージが提供されている.
レガシーパッケージ
このレガシーパッケージは,Parallel Computing Toolkit バージョン2.1に含まれていた関数に対するサポートを加える.これは下に示すようにロードすることができる.パッケージをロードする際のシャドーイングの警告は,互換性のない変更点を知らせるために意図されたものである.
Parallel`V2`をロードすると,互換性のある関数がすべて見付かるようにParallel`Developer`コンテキストが自動的に$ContextPathに置かれる.Parallel`V2`をロードしなかったら,これは自動的には起らない.
名前の変更
古い名前 | 新しい名前 |
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 |
Parallel Computing Toolkit のレガシー名とそれに相当する現在の名前のリスト
不明瞭な点
ParallelEvaluateで提供されてきた機能は2つの関数ParallelCombine,Parallelizeに分割された.ParallelEvaluateは使い方によっては不明瞭で,正しい形式を選ぶのが可能ではないことがある.
サポートされていない機能
$LoadFactorのより高い値は,現在利用できるようになっている仮想共有メモリと相容れないため,サポートされなくなった.
カーネルの設定
Parallel Computing Toolkit ではローカルカーネルの起動と,適切なOSコマンド(リモートログイン)でのリモートカーネルの起動がサポートされていた.
Mathematica 7では,使用するカーネルの設定は「評価」メニューから選べる並列環境設定を使うと最も簡単に行える.レガシーパッケージは既存の設定をサポートすることを試みるが,すべてのインスタンスでうまくいく訳ではない.