Intel® Advisor Help

Issue: Assumed dependency present

The compiler assumed there is an anti-dependency (Write after read - WAR) or a true dependency (Read after write - RAW) in the loop. Improve performance by investigating the assumption and handling accordingly.

Recommendation: Confirm dependency is real

There is no confirmation that a real (proven) dependency is present in the loop. To confirm: Run a Dependencies analysis.

Recommendation: Resolve dependency

The Dependencies analysis shows there is a real (proven) dependency in the loop. To fix: Do one of the following:

Read More:

Recommendation: Enable vectorization

The Dependencies analysis shows there is no real dependency in the loop for the given workload. Tell the compiler it is safe to vectorize using the restrict keyword or a directive:

Directive Outcome
#pragma simd or #pragma omp simd Ignores all dependencies in the loop
#pragma ivdep Ignores only vector dependencies (which is safest)

Example:

#pragma ivdep
for (i = 0; i < n - 4; i += 4)
{
    a[i + 4] = a[i] * c;
}

Read More: