Quantcast
Channel: Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2583

Help for vectorization

$
0
0

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.

 

 


Viewing all articles
Browse latest Browse all 2583

Trending Articles



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