CompilationTarget
is an option for Compile that specifies the target runtime for the compiled function.
Details
- CompilationTarget applies to the creation of the compiled function.
- The following settings can be used:
-
"WVM" the Wolfram Virtual Machine "C" C code - CompilationTarget -> "WVM" creates code for the traditional Wolfram System virtual machine.
- CompilationTarget -> "C" creates C code, which is compiled to an external machine code library and linked back into the Wolfram Language.
- External files created when a "C" target is specified are deleted either after use or when the Wolfram System exits.
- A suitable external C compiler is required to target C code. If one is not found, the Wolfram System will use the "WVM".
- When either "C" or "WVM" targets are specified, the following additional settings can be used:
-
RuntimeAttributes -> Listable compile a function with Listable attribute Parallelization -> True try using multiple threads if possible
Examples
open allclose allBasic Examples (3)
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:
Neat Examples (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:
Text
Wolfram Research (2010), CompilationTarget, Wolfram Language function, https://reference.wolfram.com/language/ref/CompilationTarget.html.
CMS
Wolfram Language. 2010. "CompilationTarget." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CompilationTarget.html.
APA
Wolfram Language. (2010). CompilationTarget. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CompilationTarget.html