Steve Kargl wrote:
On Sat, Aug 05, 2006 at 12:04:09AM -0400, Jack Howarth wrote:
Interesting, XL Fortran at -O3 produces exactly the same time as
gfortran at -O3 (121.8 seconds). At -O4, XL Fortrans is slightly
faster (114.8 seconds), but only at -O5 does it break away (52.7
seconds).
The difference between -O4 and -O5 in XL Fortran is "-qipa=level=2"
which is...
Full interprocedural data flow and alias
analysis.
Doesn't profiled IPA exist in gcc? I tried the following...
There is an ipa branch where changes are merged
back into trunk. I don't know what the status is
with respect to performance.
Inlining the functions v and dv more than makes up the time difference.
For one thing it would save one of sin calls.
! vr = sin(min(x,PI2))**2
pot = pot + 0.5_DP*sin(min(d,PI2))**2
! dvr = 2.0_DP*sin(min(x,PI2))*cos(min(x,PI2))
dvr = 2.0_DP*sin(min(d,PI2))*cos(min(d,PI2))
do k=1,nd
f(k,i) = f(k,i) - rij(k)*dvr/d
enddo