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 -> Listable编译一个具有 Listable 属性的函数
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]=
在对 Mandelbrot 集合实时绘图时,若使用 C 和并行的 CompilationTarget 进行计算,可以足够快地对图像进行实时更新:
首先,数值计算所用的编译函数:
接着,下面是显示结果并且处理交互式操作的绘图视窗:
现在,您可以调用函数. 注意:在下面的图像中,您需要计算命令,以与图片进行交互:
版本 8 的新功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF