ParallelEvaluate
ParallelEvaluate[expr]
使用可能なすべての並列カーネルで式 expr を評価し,得られた結果のリストを返す.
ParallelEvaluate[expr,kernel]
指定の並列カーネルで expr を評価する.
ParallelEvaluate[expr,{ker1,ker2,…}]
並列カーネル keriで expr を評価する.
ParallelEvaluate[expr,kernels,h]
結果を返す前に頭部 h で結果をラップする.
詳細とオプション
- ParallelEvaluateは属性HoldFirstを持つ.
- カーネルはKernels[]で返されたKernelObjectを使って,あるいは$KernelIDが返す整数のID番号を使って指定することができる.Allを使うこともできる.
- 以下の特性を使って実行中のすべてのカーネルのサブセットが選択できる.
-
All すべてのカーネル "CloudKernels" すべてのクラウドカーネル "LinkKernels" すべてのリンクカーネル "LocalKernels" ローカルで実行中のすべてのカーネル "LWGKernels" すべてのLightweightGridカーネル "OneKernelPerMachine" マシンごとに一つのカーネル "RemoteKernels" リモートマシンのすべてのカーネル "SshKernels" すべてのSSHカーネル "WSTPServerKernels" すべてのWSTPServerカーネル - ParallelEvaluateについてのDistributedContextsオプションは,expr 中のどのシンボルの定義が計算前に使用可能なすべてのカーネル前に配布されるかを指定する.
- デフォルト値はDistributedContexts:>$DistributedContexts,$DistributedContexts:=$Contextである.これは,現行コンテキストの全シンボルの定義を配布するが,パッケージからのシンボルの定義は配布しない.
例題
すべて開くすべて閉じるスコープ (9)
ParallelEvaluateを使ってすべての並列カーネルの初期化を行う:
並列カーネルで計算された結果を一意的なファイルに局所的に保存する:
一般化と拡張 (2)
オプション (5)
DistributedContexts (5)
並列計算に出現する全コンテキストの全シンボルの定義を配布する:
DistributedContextsオプションの値をデフォルト値に戻す:
アプリケーション (4)
特性と関係 (5)
ParallelEvaluateは各サブカーネルで同じ評価を行う:
Parallelizeは各サブカーネルに評価の一部を分配する:
SeedRandomを設定することで同じ結果を強制する:
個々の並列カーネルには他とは異なるIDがある.このIDを使って式を一意的にすることができる:
DistributeDefinitionsはParallelEvaluateを使ってすべてのカーネルに定義を伝える:
明示的なParallelEvaluateも同じことを行う:
ParallelEvaluateの結果は既知とはならない:
ParallelNeedsはParallelEvaluateを使ってすべての並列カーネルでNeedsを実行する:
また,すべての使用が記憶されるので,新たなカーネルにも必要なパッケージがロードされる:
ParallelEvaluateは使用された関数の定義を自動的に配布する:
考えられる問題 (2)
テキスト
Wolfram Research (2008), ParallelEvaluate, Wolfram言語関数, https://reference.wolfram.com/language/ref/ParallelEvaluate.html (2020年に更新).
CMS
Wolfram Language. 2008. "ParallelEvaluate." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/ParallelEvaluate.html.
APA
Wolfram Language. (2008). ParallelEvaluate. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ParallelEvaluate.html