Mathematica > Systems Interfaces & Deployment > Parallel Computing > CompilationTarget >
Mathematica > Core Language > Tuning & Debugging > Parallel Computing > CompilationTarget >

CompilationTarget

CompilationTarget
is an option for Compile that specifies the target runtime for the compiled function.
  • The following settings can be used:
"WVM"the Wolfram Virtual Machine
"C"C code
  • creates code for the traditional Mathematica virtual machine.
  • creates C code, which is compiled to an external machine code library and linked back into Mathematica.
  • External files created when a target is specified are deleted either after use or when Mathematica exits.
  • A suitable external C compiler is required to target C code. If one is not found, Mathematica will use the .
  • When either or targets are specified, the following additional settings can be used:
RuntimeAttributes -> Listablecompile a function with Listable attribute
Parallelization -> Truetry using multiple threads if possible
You can target C code generation from Compile:
This runs the compilation using C code:
C code generation runs faster:
The default operation using the WVM runs more slowly:
You can combine parallel operations with C code generation to get even faster operation:
You can target C code generation from Compile:
In[1]:=
Click for copyable input
Out[1]=
This runs the compilation using C code:
In[2]:=
Click for copyable input
Out[2]=
 
C code generation runs faster:
In[1]:=
Click for copyable input
Out[1]=
The default operation using the WVM runs more slowly:
In[2]:=
Click for copyable input
Out[2]=
 
You can combine parallel operations with C code generation to get even faster operation:
In[1]:=
Click for copyable input
Out[1]=
A real-time plotting of the Mandelbrot set, the computation using a CompilationTarget of C and parallelism is fast enough to update the image in real time.
First, the compiled function to compute values:
Now, a plot viewer to display the result and handle the interactions:
Now you can invoke the functions. Note that this is an image to interact with the picture you need to evaluate the commands:
New in 8
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
Format:   HTML  |  CDF