User Guide

Contents

Annotation Report, Inductive Expression Row

This special-purpose annotation marks a line that updates an expression that is inductive in a loop.
To view the source code for this annotation, click the
icon.
Inductive expressions cause dependence cycles which normally prevent parallelizing a loop, but it is possible to compute the value of the expression if you know the iteration number. You may have to re-write the inductive expression to compute the value based on the iteration number when the loop is translated to parallel code.
For example, if
i++
is the iteration variable of your loop, the parallel framework that you use may automatically fix this for you. For example, by using
cilk_for
. Otherwise, you may need to fix it manually. A common example is with
j+=3
, and
i++
. If
i
is your loop index (assuming 0 based), you can replace
j+=3
with
j = i*3
. That is, the value of
j
actually is a function of the value of
i
.

When to View the Annotation Report

Use the
Annotation Report
window to view the types of annotations present in your project sources and access their locations. You can view the
Annotation Report
at any time to check the annotations. In addition:
  • Intel recommends that you view annotations during Adding Parallelism to Your Program workflow step to help you locate site, task, lock, and other annotations that should be replaced by parallel framework code.
  • When using the , you can use this report to verify that the correct sources have been defined in the
    Project Properties > Source Search
    tab.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804