On Thu, Jan 19, 2012 at 3:27 PM, willus.com <willus....@willus.com> wrote: > On 1/19/2012 2:59 AM, Richard Guenther wrote: >> >> On Thu, Jan 19, 2012 at 7:37 AM, Marc Glisse<marc.gli...@inria.fr> wrote: >>> >>> On Wed, 18 Jan 2012, willus.com wrote: >>> >>>> For those who might be interested, I've recently benchmarked gcc 4.6.3 >>>> (and 3.4.2) vs. Intel v11 and Microsoft (in Windows 7) here: >>>> >>>> http://willus.com/ccomp_benchmark2.shtml >>> >>> >>> http://en.wikipedia.org/wiki/Microsoft_Windows_SDK#64-bit_development >>> >>> For the math functions, this is normally more a libc feature, so you >>> might >>> get very different results on different OS. Then again, by using >>> -ffast-math, you allow the math functions to return any random value, so >>> I >>> can think of ways to make it even faster ;-) >> >> Also for math functions you can simply substitute the Intel compilers one >> (GCC uses the Microsoft ones) by linking against libimf. You can also >> make >> use of their vectorized variants from GCC by specifying -mveclibabi=svml >> and link against libimf (the GCC autovectorizer will then use the routines >> from the Intel compiler math library). That makes a huge difference for >> code using functions from math.h. >> >> Richard. >> >>> -- >>> Marc Glisse > > Thank you both for the tips. Are you certain that with the flags I used > Intel doesn't completely in-line the math2.h functions at the compile stage?
Yes. Intel merely comes with its own (optimized) math library while GCC has to rely on the operating system one. > gcc? I take it to use libimf.a (legally) I would have to purchase the > Intel compiler? I would say you have to purchase the Intel compiler. Even then the license to use libimf.a may be restricted. So I wouldn't recomment distributing binaries linked with libimf.a without consulting a lawyer. Richard.