Implement the "unum" representation in D ?
Don via Digitalmars-d
digitalmars-d at puremagic.com
Wed Sep 16 01:17:57 PDT 2015
On Tuesday, 15 September 2015 at 11:13:59 UTC, Ola Fosheim
Grøstad wrote:
> On Tuesday, 15 September 2015 at 10:38:23 UTC, ponce wrote:
>> On Tuesday, 15 September 2015 at 09:35:36 UTC, Ola Fosheim
>> Grøstad wrote:
>>> http://sites.ieee.org/scv-cs/files/2013/03/Right-SizingPrecision1.pdf
>>
>> That's a pretty convincing case. Who does it :)?
I'm not convinced. I think they are downplaying the hardware
difficulties. Slide 34:
Disadvantages of the Unum Format
* Non-power-of-two alignment. Needs packing and unpacking,
garbage collection.
I think that disadvantage is so enormous that it negates most of
the advantages. Note that in the x86 world, unaligned memory
loads of SSE values still take longer than aligned loads. And
that's a trivial case!
The energy savings are achieved by using a primitive form of
compression. Sure, you can reduce the memory bandwidth required
by compressing the data. You could do that for *any* form of
data, not just floating point. But I don't think anyone thinks
that's worthwhile.
The energy comparisons are plain dishonest. The power required
for accessing from DRAM is the energy consumption of a *cache
miss* !! What's the energy consumption of a load from cache? That
would show you what the real gains are, and my guess is they are
tiny.
So:
* I don't believe the energy savings are real.
* There is no guarantee that it would be possible to implement it
in hardware without a speed penalty, regardless of how many
transistors you throw at it (hardware analogue of Amdahl's Law)
* but the error bound stuff is cool.
More information about the Digitalmars-d
mailing list