Dear Intel developers,
i need to vectorize the folloe code by using intel cs 2013:
subroutine mysubroutine(n, q) integer(long), intent(IN) :: n real(stnd), dimension(base_dim), intent(OUT) :: q integer(long) :: nk integer(long) :: sk, bk integer(long) :: npow real(stnd) :: x integer(long) :: i, j q = 0.0 nk = 0 do i = 1, base_dim x = logarithm( real(n + 1), real(base(i)) ) npow = floor(x) sk = n do j = npow, 0, -1 bk = base(i)**j nk = floor( real(sk) / real(bk) ) sk = sk - nk * bk q(i) = q(i) + real(nk) / real(bk * base(i)) end do end do end subroutine mysubroutine
Compiler recognize ANTI ad FLOW dependence between sk and ANTI ad FLOW dependence bewween q.
Could you like to help me to vectorize the inner loop? TI have no idea how to solve in particular the sk dependence. Thanks in advance.