concurrency_safe
Guides the compiler to parallelize more
loops and straight-line code.
Syntax
Windows:
__declspec(concurrency_safe
(
clause
)
)
Linux:
__attribute__((concurrency_safe
(
clause
)
)
)
Arguments
- clause
- Is one of the following:cost(cycles): Specifies the execution cycles of the annotated function for the compiler to perform parallelization profitability analysis while compiling its enclosing loops or blocks. The value ofcyclesis a 2-byte unsigned integer (unsigned short); its maximal value is 2^16-1. If the cycle count is greater than 2^16-1, you should useprofitable.profitable: Specifies that the loops or blocks that contain calls to the annotated function are profitable to parallelize.
Description
This keyword specifies that there are no incorrect side-effects and no
illegal (or improperly synchronized) memory access interferences among multiple
invocations of the annotated function or between an invocation of this
annotated function and other statements in the program, if they are executed
concurrently.
For every function that is marked with this keyword, you
must ensure that its side effects (if any) are acceptable (or expected), and
the memory access interferences are properly synchronized.