Intel® C++ Compiler 16.0 User and Reference Guide

concurrency_safe

Guides the compiler to parallelize more loops and straight-line code.

Syntax

Windows* OS:

__declspec(concurrency_safe(clauses))

Linux* OS:

__attribute__((concurrency_safe(clauses)))

Arguments

clauses

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 of cycles is 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 use profitable.

profitable: Specifies that the loops or blocks that contain calls to the annotated function are profitable to parallelize.

Description

This keyword indicates to the compiler 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.