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

CompilationTarget

CompilationTarget
Compileのオプションで,コンパイルされた関数のターゲットランタイムを指定する.
  • 使用可能な設定値:
"WVM"Wolfram仮想マシン
"C"Cコード
  • は,従来の Mathematica 仮想マシンのコードを作成する.
  • はCコードを作成する.これは,外部マシンのコードライブラリにコンパイルされ,Mathematica にリンクされて戻される.
  • のターゲット指定時に作成される外部ファイルは,使用後あるいは Mathematica の終了時に削除される.
  • Cコードをターゲットとするためには適切な外部Cコンパイラが必要である.外部コンパイラが見付からなければ,Mathematicaを使用する.
  • あるいはのどちらかのターゲットが指定されると,下記の追加設定が使用可能になる.
RuntimeAttributes -> ListableListable属性を有する関数をコンパイルする
Parallelization -> True可能な場合複数のスレッドを使おうとする
CompileからCコード生成がターゲットにできる:
次はCコードを使ってコンパイルしている:
Cコードの生成の方が速く実行できる:
WVMを使ったデフォルト操作の方が遅い:
Cコード生成と並列操作を組み合せるとさらに速くなる:
CompileからCコード生成がターゲットにできる:
In[1]:=
Click for copyable input
Out[1]=
次はCコードを使ってコンパイルしている:
In[2]:=
Click for copyable input
Out[2]=
 
Cコードの生成の方が速く実行できる:
In[1]:=
Click for copyable input
Out[1]=
WVMを使ったデフォルト操作の方が遅い:
In[2]:=
Click for copyable input
Out[2]=
 
Cコード生成と並列操作を組み合せるとさらに速くなる:
In[1]:=
Click for copyable input
Out[1]=
マンテルブロ集合のリアルタイムプロット.CのCompilationTargetの計算を使った並列化は画像を十分リアルタイムで更新できるだけ速い:
まず,値を計算するためのコンパイルされた関数:
次に,結果を表示しインタラクションを操作するためのビューアをプロットする:
これで関数を呼び出すことができる.これはコマンドを評価するために必要な絵とインタラクトするための画像である点に注意のこと:
バージョン 8 の新機能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
フォーマット:   HTML  |  CDF