Hacker News new | past | comments | ask | show | jobs | submit login

Unum's? I bet that many of us here would be very interested in the thoughts on the topic of folks here who know about it. Is it a revolution or is it nonsense, an engineering mistake?



Posits are a hardware-friendly implementation of unums, a sort of halfway house on the road to Gusafson's full vision of unums. Posits have a fixed size and are meant to be a drop-in replacement for IEEE floats. They can and are being implemented in hardware.

Unums are more ambitious. They would have variable lengths, so implementing them would require more changes than just changing the way a fixed-length set of bits is interpreted.


As part of the spec, a true posit implementation includes an exact accumulator unit. This has been described for decades, is pipelineable, and allows for, say 10e20+1-10e20 == 1. We've shown that this gives speedup and about 10^5 improvement in accuracy for linpack 1000.


Unums are a bit of a technically questionable idealism. Posits on the other hand seem simply seem technically superior to floats in almost every way (including many measures of simplicity and efficiency).

But technical inertia is such that not always the best newcomer can beat the established ways.

edit: Somewhat relevant xkcd :)

https://xkcd.com/567/


Unums are an odd duck, but the related posits from the same person make a lot of sense. They extend the range of floating point numbers by slowly tapering the relative accuracy the further you get away from 1. I find the paper[0] very readable, but if you just want some quick examples of the numbers, I wrote a blog post[1] some time ago which you may find helpful.

[0] http://www.johngustafson.net/pdfs/BeatingFloatingPoint.pdf [1] http://nhaehnle.blogspot.de/2017/09/posits.html




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: