Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

power intrinsics

mriedman
Novice
414 Views

Slight changes in my source have caused a significant change at runtime. While previously the profile was dominated by pow.L this has now been replaced with __ieee754_pow along with __exp1.

Normally I wouldn't care but now the lattertwo take significantly more time. I have not changed compiler flags so I suspect it has to do with the data.

Can anybody explain the logic behind this ?

0 Kudos
2 Replies
TimP
Honored Contributor III
414 Views
This appears to be a switch from the SSE coded function in Intel libm to the glibc functions. Did this come with a change of compiler version?
You must take care that the expression is pure single precision (and avoid the arch-consistency option) if you want the fast single precision power function.
0 Kudos
mriedman
Novice
414 Views

thanks a lot, Tim, good hint to glibc.

It turns out that my LIBRARY_PATH environment was messed up. Back to normal now.

(Background: Overloading of the pow() symbolappeared to bethe only way to get a gprof call graph in order to see from where this function is most frequently called. That did require tocopy and hackthe Intel libm and rename functionpow() to wop() in order to avoid duplicate symbols.)

0 Kudos
Reply