Absence of Loop-carried Memory Dependency with IVDEP Directive

For ItaniumŪ-based applications, the -ivdep-parallel (Linux*) or /Qivdep-parallel (Windows*) option indicates there is no loop-carried memory dependency in the loop where an ivdep directive is specified. This technique is useful for some sparse matrix applications.

Note

Mac OS*: This option is not supported.

For example,  the following loop requires the parallel option in addition to the ivdep directive to ensure there is no loop-carried dependency for the store into a().

Example

!DEC$ IVDEP

do j=1,n

  a(b(j)) = a(b(j))+1

enddo

See also Vectorization support.