On 4/3/07, Uros Bizjak <[EMAIL PROTECTED]> wrote:
Hello!
Here are some effects of newly introduced -mpcX flag on a povray-3.6.1
(as kind of representative FP-heavy application to measure FP
performance).
The code was compiled using:
-O3 -march=native -funroll-all-loops -ffast-math -D__NO_MATH_INLINES
-malign-double -minline-all-stringops
(32bit code) and final binary was linked using -mpc32, -mpc64 or -mpc80.
The testfile was abyss.pov in default resolution (320 x 240) and the
timings were performed on 'Intel(R) Xeon(TM) CPU 3.60GHz'. Following
are averages of 5 runs:
-mpc80: average runtime 13.273s (baseline)
-mpc64: average runtime 12.977s (2.2 % faster than baseline)
-mpc32: average runtime 12.160s (9.2 % faster than baseline)
It should be noted, that rendered picture in -mpc32 case developed a
strange halo around rendered object (nice special effect ;), and this
is clearly the effect of too low FP precision. -mpc64 and -mpc80
rendered pictures were equal, as far as my vision in concerned (well,
not quite a scientific approach).
It should be noted, that ifort defaults to -pc64 and this brings some
2% better runtimes on FP intensive code.
Is ifort able to provide extended precision arithmetic in that case? I think
the documentation should mention that 'long double' will no longer work
as expected if you pass -mpc64, likewise for 'double' and -mpc32.
Richard.