[Beowulf] Question about amd64 architecture and floating point operations

Mark Hahn hahn at physics.mcmaster.ca
Wed Nov 22 06:35:43 PST 2006

> and sun studio 11. The architecture has 64 bits integer registers and 128
> bits floating point registers,

no: it has SIMD registers which can be used as 2x64 or 4x32 FP
(or 16x8, 8x16, 4x32, 2x64 int).

> but my test programs in C just gave me the
> same precision that I got with an old athlon 2400 xp (32bits), that is, long
> double go only to 1x10^ 4961, even with the -m64 flag. I always imagined
> that I would get the double precision without the long double declaration
> (or, maybe, 40bits precision). What am I missing here?

eh? doubles always have 56b of precision (mantissa), but your 1x10^4961
refers only to the range of the exponent.  for instance, you could dream up
an FP format that had 2 bits of mantissa and 126 bits of exponent, useless
though it would be...

if you are really after precision, you probably want to use x87-specific
80-bit FP, which has 64b mantissa iirc.  again, that's orthogonal to the 
range of exponent.

More information about the Beowulf mailing list