Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

SUM versus do-loop summing

Ralph_Nelson
Novice
119 Views

I'm building a vector-parallelized Fortran code.  Looking at hot spots and waits, I found that

x_sum=SUM(X) and

x_sum = zero
Do i 1,n
  x_sum = x_sum + X(i)
ENDDO

X is a real.

preform differently. In my code the do-loop is ~30% faster.  Note there are a number of summations involved so that reflects an overall result for a test case.

Must be my error but please point it out to me.

 

0 Kudos
2 Replies
Roman1
New Contributor I
119 Views

You did not post an entire program, so this is a guess.  What is the size of X?  Is is possible that  SIZE(X) > n , and when you do x_sum=SUM(X)  ,  you are summing over more elements?

 

Ralph_Nelson
Novice
119 Views

Roman,

Program is BIG with a number of subroutines and why I didn't post. The SUMs in question are in the routine that handles much of the computations.

n ~ 12500

Reply