Enables parallelization of program code.
.-nosmp-------------------------------------------------------. >>- -q--+-smp--+----------------------------------------------------+-+->< | .-:-------------------------------------------. | | | .-norec_locks-----------------------------. | | | | +-nonested_par----------------------------+ | | | | +-explicit--------------------------------+ | | | | +-noomp-----------------------------------+ | | | | +-opt-------------------------------------+ | | | V +-auto------------------------------------+ | | '-=----+-noauto----------------------------------+-+-' +-noopt-----------------------------------+ +-omp-------------------------------------+ +-noexplicit------------------------------+ +-nested_par------------------------------+ +-rec_locks-------------------------------+ | .-runtime----------------. | '-schedule--=--+-+-dynamic--+--+------+-+-' +-guided---+ '-=--n-' +-static---+ '-affinity-'
where:
auto | Enables automatic parallelization and optimization of program code. |
noauto | Disables automatic parallelization of program code. Program code explicitly parallelized with OpenMP pragma statements is optimized. |
opt | Enables automatic parallelization and optimization of program code. |
noopt | Enables automatic parallelization, but disables optimization of parallelized program code. Use this setting when debugging parallelized program code. |
omp | Enables strict compliance to the OpenMP standard. Automatic parallelization is disabled. Parallelized program code is optimized. Only OpenMP parallelization pragmas are recognized. |
noomp | Enables automatic parallelization and optimization of program code. |
explicit | Enables pragmas controlling explicit parallelization of loops. |
noexplicit | Disables pragmas controlling explicit parallelization of loops. |
nested_par | If specified, nested parallel constructs are not serialized. nested_par does not provide true nested parallelism because
it does not cause new team of threads to be created for nested parallel regions.
Instead, threads that are currently available are re-used.
This option should be used with caution. Depending on the number of threads available and the amount of work in an outer loop, inner loops could be executed sequentially even if this option is in effect. Parallelization overhead may not necessarily be offset by program performance gains. |
nonested_par | Disables parallization of nested parallel constructs. |
rec_locks | If specified, recursive locks are used, and nested critical sections will not cause a deadlock. |
norec_locks | If specified, recursive locks are not used. |
schedule=sched_type[=n] | Specifies what kind of scheduling algorithms and chunk size (n) are used for loops to which no other scheduling algorithm has been explicitly assigned in the source code. If sched_type is not specified, schedule=runtime is assumed for the default setting. |
Related information