Intel® Advisor Help

Issue: Serialized user function call(s) present

User-defined functions in the loop body are not vectorized.

Recommendation: Enable inline expansion

Inlining of user-defined functions is disabled by compiler option. To fix: When using the Ob or inline-level compiler option to control inline expansion, replace the 0 argument with the 1 argument to enable inlining when an inline keyword or attribute is specified or the 2 argument to enable inlining of any function at compiler discretion.

Windows* OS Linux* OS
/Ob1 or /Ob2 -inline-level=1 or -inline-level=2

Read More:

Recommendation: Vectorize serialized function(s) inside loop

Some user-defined function(s) are not vectorized or inlined by the compiler. To fix: Do one of the following:

Example:

real function f (x)
!DIR$ OMP DECLARE SIMD
    real, intent(in), value  :: x
    f= x + 1
  end function f

!DIR$ OMP SIMD
  do k = 1, N
     a(k) = f(k)
  enddo

Read More: