is an option for Compile that specifies whether it should create a compiled function that could run in parallel.
- Parallelization applies to the execution of the compiled function.
- Compiled functions only run in parallel if Listable is one of the RuntimeAttributes and the function threads over list arguments.
- Compiled functions run in parallel using multiple threads of execution.
- Typically, $ProcessorCount is used to determine how many threads are used.
- If a compiled function running in parallel has several threads trying to call ordinary Wolfram Language code, only one thread can do this at any time.
- The following settings can be used:
True create parallel code False create single-thread code Automatic use parallelization for optimal arguments
Basic Examples (1)
Listable compiled functions can execute in parallel:
This shows the operation running sequentially:
Typically, $ProcessorCount is used to determine how many threads can be used:
Wolfram Research (2010), Parallelization, Wolfram Language function, https://reference.wolfram.com/language/ref/Parallelization.html.
Wolfram Language. 2010. "Parallelization." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Parallelization.html.
Wolfram Language. (2010). Parallelization. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Parallelization.html