Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > システムインターフェースと配備 > 並列計算 > データの並列性 > ParallelCombine >
Mathematica > コアとなる言語 > 調整とデバッグ > 並列計算 > データの並列性 > ParallelCombine >

ParallelCombine

ParallelCombine
計算の部分をすべての並列カーネルに分配して を並列評価し,部分的な結果を comb で結合する.
ParallelCombine
h が属性Flatを持つ場合ParallelCombineに等しく,それ以外の場合はParallelCombine[f, h[e1, e2, ...], Join]に等しい.
  • ParallelCombineは,式 , , ..., を形成し,使用可能なすべてのカーネルでこれらの式を評価し,を使って結果 を結合する.
  • デフォルトのコンバイナJoinの結果が頭部 h を持つような関数 f に適している.これには属性Listableを持つすべての関数が含まれる.
  • 属性Flatがある頭部 h の場合,デフォルトのコンバイナ h は事実上結合法則を実装する.
  • 使用可能なカーネルがない場合,ParallelCombineを通常の方法で評価する.
f をリスト中の複数の部分に並列適用する(4つの並列カーネルが使用可):
各計算がどこで行われているかを示す:
デフォルトで,コンバイナ関数としてJoinが使われる:
並列のフィルタ操作を行う:
f をリスト中の複数の部分に並列適用する(4つの並列カーネルが使用可):
In[1]:=
Click for copyable input
Out[1]=
各計算がどこで行われているかを示す:
In[2]:=
Click for copyable input
Out[2]=
 
デフォルトで,コンバイナ関数としてJoinが使われる:
In[1]:=
Click for copyable input
Out[1]=
並列のフィルタ操作を行う:
In[2]:=
Click for copyable input
Out[2]=
Listableな関数はすべてParallelCombineで並列化できる:
関数がListableではない場合は明示的にMapを使う:
多くの関数型プログラミング構造はParallelCombineで並列化できる:
結果が入力と同じ長さである必要はない:
リストの要素を並列評価する:
全体としてのマッチ要素数は各部分の数の和に等しい:
少なくとも1つの部分にある要素はリストの要素として現れる:
どの部分にもない要素はリストの要素としては現れない:
各サブカーネルがいくつかの加算を行い,コンバイナが結果を結合する:
Flat関数のコンバイナを自動的に選ぶ:
典型的なFlat関数:
複数の引数を持つリスト可能な関数:
計算を可能な限り小さいサブユニットに分割する:
計算を使用可能なカーネル数に分割する:
1つのカーネルにつき最大で2つの評価になるようにジョブ全体の計算を分割する:
計算をそれぞれが最大でも5つの要素の評価になるように分割する:
デフォルトのオプション設定では,評価サイズと評価数のバランスが取られる:
カーネル1つについての評価数と評価1つについてのアイテム数を可視化する:
デフォルトで,現行コンテキストの定義は自動的に配布される:
関数の定義は配布しない:
並列計算に現れるすべてのコンテキストのすべての記号の定義を配布する:
指定されたコンテキストの定義だけを配布する:
DistributedContextsオプションの値をデフォルト値に戻す:
並列化で結合された式を簡約する:
計算がカーネル間でどのように分配されているかを調べる:
MapThreadの並列バージョン:
ParallelMapの実装:
リスト可能な関数にとって,ParallelCombineParallelMapは等しい:
ParallelizeはしばしばParallelCombineによって実装される:
多くのデータ並列コマンドの並列バージョンはParallelCombineを使って容易に書くことができる:
インタラクティブに定義された関数は必要となったときに自動的にすべてのカーネルに配布される:
手動で定義を配布し自動配布を停止する:
関数は並列カーネルで評価されるようになった:
コンバイナは部分結果のタイプと整合性がなければならない:
デフォルトのコンバイナはJoinである.これはリスト様の結果に相応しい:
関数が短い引数リストを簡約することはあるが,リストが長いと簡約は行われない:
部分式のこのような簡約は並列マッピングを不可能にすることがある:
部分式の簡約を阻止し最後にのみ所望の関数を適用する:
バージョン 7 の新機能 | バージョン 8 での修正機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
フォーマット:   HTML  |  CDF