Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Diagnostic 15319: Using NOVECTOR directive

$
0
0

Product Version: Intel(R) Visual Fortran Compiler XE 15.0.0.070 

Cause:

When using NOVECTOR directive in code, the vectorization report generated using Visual Fortran Compiler's optimization and vectorization report options ( -O2 -Qopt-report:2includes non-vectorized loop instance. 

Example:

An example below will generate the following remark in optimization report:

subroutine foo(a, b, n)
	implicit none
	integer, intent(in) :: n
	real, intent(inout) :: a(n)
	real, intent(in)    :: b(n)

    integer :: i

!DEC$ NOVECTOR

       do i=1,n
		     a(i)= b(i)+1
       end do

end subroutine foo 

 

Report from: Vector & Auto-parallelization optimizations [vec, par]

LOOP BEGIN at f15319.f90(11,8)

 remark #15319: loop was not vectorized: novector directive used

LOOP END

Resolution:

There may be cases where you want to explicitly avoid vectorization of a loop; for example, if vectorization would result in a performance regression rather than an improvement. In these cases, you can use the NOVECTOR directive to disable vectorization of the loop. 

See also:   

VECTOR and NOVECTOR

Requirements for Vectorizable Loops

Vectorization Essentials

Vectorization and Optimization Reports

Back to the list of vectorization diagnostics for Intel Fortran


Viewing all articles
Browse latest Browse all 3384

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>