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.
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.