It would be nice to have these alongside Float. Perhaps with a 128 bit representation…
Begin forwarded message:
From: Annick Fron annick.fron@afceurope.com Date: November 9, 2022 at 1:14:46 AM PST To: vwnc NC vwnc@cs.uiuc.edu Subject: [vwnc] Posits Reply-To: Annick Fron annick.fron@afceurope.com
Hi,
Does anybody know about posits ?
https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/posits/
Best regards
Annick
Eliot _,,,^..^,,,_ (phone)
+1 That would be nice to have indeed! :-)
Best, Marcel Am 09.11.2022 17:55:08 schrieb Eliot Miranda eliot.miranda@gmail.com: It would be nice to have these alongside Float. Perhaps with a 128 bit representation…
Begin forwarded message:
From: Annick Fron annick.fron@afceurope.com Date: November 9, 2022 at 1:14:46 AM PST To: vwnc NC vwnc@cs.uiuc.edu Subject: [vwnc] Posits Reply-To: Annick Fron annick.fron@afceurope.com
Hi,
Does anybody know about posits ?
https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/posits/ [https://urldefense.com/v3/__https://www.cs.cornell.edu/courses/cs6120/2019fa...]
Best regards
Annick
Eliot _,,,^..^,,,_ (phone)
Thanks for that link, Eliot! That led me down a rabbit hole [1][2], and upon coming out I can say I officially love posits. Very cool stuff. (To other readers of this message: if you read or skim only one document, it should be [1] IMO.)
Cheers, Tony
[1]: https://posithub.org/docs/Posits4.pdf [2]: https://posithub.org/docs/posit_standard-2.pdf
On 11/9/22 17:54, Eliot Miranda wrote:
It would be nice to have these alongside Float. Perhaps with a 128 bit representation…
Begin forwarded message:
*From:* Annick Fron annick.fron@afceurope.com *Date:* November 9, 2022 at 1:14:46 AM PST *To:* vwnc NC vwnc@cs.uiuc.edu *Subject:* *[vwnc] Posits* *Reply-To:* Annick Fron annick.fron@afceurope.com
Hi,
Does anybody know about posits ?
https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/posits/
Best regards
Annick
Eliot _,,,^..^,,,_ (phone)
Hi Lists,
This is the first I've ever heard of posits.
I certainly don't see the harm in including them in Squeak! If it isn't too arduous, I think we should.
On Thu, Nov 10, 2022, 06:55 Tony Garnock-Jones tonyg@leastfixedpoint.com wrote:
Thanks for that link, Eliot! That led me down a rabbit hole [1][2], and upon coming out I can say I officially love posits. Very cool stuff. (To other readers of this message: if you read or skim only one document, it should be [1] IMO.)
Cheers, Tony
On 11/9/22 17:54, Eliot Miranda wrote:
It would be nice to have these alongside Float. Perhaps with a 128 bit representation…
Begin forwarded message:
*From:* Annick Fron annick.fron@afceurope.com *Date:* November 9, 2022 at 1:14:46 AM PST *To:* vwnc NC vwnc@cs.uiuc.edu *Subject:* *[vwnc] Posits* *Reply-To:* Annick Fron annick.fron@afceurope.com
Hi,
Does anybody know about posits ?
https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/posits/
Best regards
Annick
Eliot _,,,^..^,,,_ (phone)
I have published an early implementation of Posit with very few PositTests at http://www.squeaksource.com/STEM
Currently, reciprocal is not correct (it's the rough approximation given by circle symmetry) , and the implementation of mathematical functions rely on Float, which is only a good idea for small Posit representations (low range, low precision). The rest of arithmetic uses asFraction, which is not fast, but is exact.
I have not implemented a Quire, since by now we can perform all arithmetic asFraction with infinite precision. Quire has an interest if accelerated.
Also, the Posit intervals are not implemented, that would be interesting too.
The decoding of Posit bit fields is duplicated at many places, and that might be better factored.
The algorithm for correctly rounding to a Posit is also duplicated in Float/Integer/Fraction. Since it is not trivial, it definitely lacks tests.
If you wanna play...
Le jeu. 10 nov. 2022 à 18:34, Lauren P drurowin@gmail.com a écrit :
Hi Lists,
This is the first I've ever heard of posits.
I certainly don't see the harm in including them in Squeak! If it isn't too arduous, I think we should.
On Thu, Nov 10, 2022, 06:55 Tony Garnock-Jones tonyg@leastfixedpoint.com wrote:
Thanks for that link, Eliot! That led me down a rabbit hole [1][2], and upon coming out I can say I officially love posits. Very cool stuff. (To other readers of this message: if you read or skim only one document, it should be [1] IMO.)
Cheers, Tony
On 11/9/22 17:54, Eliot Miranda wrote:
It would be nice to have these alongside Float. Perhaps with a 128 bit representation…
Begin forwarded message:
*From:* Annick Fron annick.fron@afceurope.com *Date:* November 9, 2022 at 1:14:46 AM PST *To:* vwnc NC vwnc@cs.uiuc.edu *Subject:* *[vwnc] Posits* *Reply-To:* Annick Fron annick.fron@afceurope.com
Hi,
Does anybody know about posits ?
https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/posits/
Best regards
Annick
Eliot _,,,^..^,,,_ (phone)
This critique was interesting also, by William Kahan, the main architect of the IEEE 754-1985 floating-point spec:
https://people.eecs.berkeley.edu/~wkahan/UnumSORN.pdf
-C
-- Craig Latta :: research computer scientist :: Black Page Digital :: Berkeley, California :: 663137D7940BF5C0AF :: C1349FB2ADA32C4D5314CE ::
Hmm... Patrick just pointed out to me that this critique addresses Unum I. "Posits" are Unum III: https://en.wikipedia.org/wiki/Unum_(number_format) [https://en.wikipedia.org/wiki/Unum_(number_format)]
Hmm...
Best, Marcel Am 11.11.2022 04:34:31 schrieb Craig Latta craig@blackpagedigital.com:
This critique was interesting also, by William Kahan, the main architect of the IEEE 754-1985 floating-point spec:
https://people.eecs.berkeley.edu/~wkahan/UnumSORN.pdf
-C
-- Craig Latta :: research computer scientist :: Black Page Digital :: Berkeley, California :: 663137D7940BF5C0AF :: C1349FB2ADA32C4D5314CE ::
Hi Marcel--
Hmm... Patrick just pointed out to me that this critique addresses Unum I. "Posits" are Unum III (Wikipedia link).
Sure, the Wikipedia article is where I noticed the critique. Not all of its criticisms are addressed by Unum II and III. And it's still interesting, given who wrote it. :) I think posits are lovely, and I've never enjoyed dealing with IEEE 754, but it's not clear to me that the resource-use discussion is closed.
Hmm...
What are you trying to say?
-C
-- Craig Latta :: research computer scientist :: Black Page Digital :: Berkeley, California :: 663137D7940BF5C0AF :: C1349FB2ADA32C4D5314CE ::
Hi all, the criticism of Kahan is essentially about the replacement of the variety of rounding modes by interval arithmetic, ubox and SORN (decomposition in union of smaller intervals to refine the bounds) as a universal solution. It's not a criticism of the Posit format per se. Implementing a single rounding mode certainly participates in the simplification of the arithmetic unit, but it's not mandatory, it's orthogonal to the representation. Posits have a formal beauty and may reduce the complexity of hardware, power consumption, etc... I like the idea of using short Posits in neural networks. It remains to see if it does not complicate error analysis, because precision is floating (like denormals in IEEE754). Maybe that could be a grief for Kahan too, but that would deserve an update from his side.
Nicolas
Le sam. 12 nov. 2022 à 00:10, Craig Latta craig@blackpagedigital.com a écrit :
Hi Marcel--
Hmm... Patrick just pointed out to me that this critique addresses Unum I. "Posits" are Unum III (Wikipedia link).
Sure, the Wikipedia article is where I noticed the critique. Not
all of its criticisms are addressed by Unum II and III. And it's still interesting, given who wrote it. :) I think posits are lovely, and I've never enjoyed dealing with IEEE 754, but it's not clear to me that the resource-use discussion is closed.
Hmm...
What are you trying to say?
-C
-- Craig Latta :: research computer scientist :: Black Page Digital :: Berkeley, California :: 663137D7940BF5C0AF :: C1349FB2ADA32C4D5314CE ::
Here's a more up-to-date criticism:
https://hal.inria.fr/hal-01959581v2/document
Florent de Dinechin, Luc Forget, Jean-Michel Muller, Yohann Uguen. Posits: the good, the bad and the ugly. 2018. hal-01959581v2
I still very much like the theory of posits, and their potential for use as a storage format. What my reading over the last few days has taught me, though, is that I'm not qualified to opine on their uses for *computation*! They still seem really promising - it seems like they're perhaps *usually* superior to floats for many numerical algorithms, but not *always* superior? And you still have to do Proper Numerical Analysis, just like with IEEE754. And since the standard posit formats have a slightly smaller range of precisely-encoded contiguous integers in them, maybe regular floats/doubles are better where you're doing something shady like using them in place of a proper integer type (*cough cough javascript*)...
On 11/11/22 09:42, Marcel Taeumel wrote:
Hmm... Patrick just pointed out to me that this critique addresses Unum I. "Posits" are Unum III: https://en.wikipedia.org/wiki/Unum_(number_format) https://en.wikipedia.org/wiki/Unum_(number_format)
Hmm...
Best, Marcel
Am 11.11.2022 04:34:31 schrieb Craig Latta craig@blackpagedigital.com:
This critique was interesting also, by William Kahan, the main architect of the IEEE 754-1985 floating-point spec:
https://people.eecs.berkeley.edu/~wkahan/UnumSORN.pdf
-C
-- Craig Latta :: research computer scientist :: Black Page Digital :: Berkeley, California :: 663137D7940BF5C0AF :: C1349FB2ADA32C4D5314CE ::
Thank you for this excellent link. When you know that both Microsoft and Apple have a bug in ldexp in the gradual underflow range on x64, that's a warning that tapered arithmetic might be error prone indeed ;) IMO, a very good property of Posits is the ease of converting to/from increased precision (if conserving es). I would inquire the cost/benefit of what we could get with one register containing 1 or few extra bytes of precision filled by each elementary arithmetic op. IMO it would restore some good properties for TwoSum, Twoproduct, etc...
Concerning languages like Javascript, please note that all integers up to 2^48 are representable on Posit64 with es=2, or up to 2^52 on Posit64 with es=3, if I'm not mistaken... So it does not make a great difference with Float64.
Le lun. 14 nov. 2022 à 10:22, Tony Garnock-Jones tonyg@leastfixedpoint.com a écrit :
Here's a more up-to-date criticism:
https://hal.inria.fr/hal-01959581v2/document
Florent de Dinechin, Luc Forget, Jean-Michel Muller, Yohann Uguen. Posits: the good, the bad and the ugly. 2018. hal-01959581v2
I still very much like the theory of posits, and their potential for use as a storage format. What my reading over the last few days has taught me, though, is that I'm not qualified to opine on their uses for *computation*! They still seem really promising - it seems like they're perhaps *usually* superior to floats for many numerical algorithms, but not *always* superior? And you still have to do Proper Numerical Analysis, just like with IEEE754. And since the standard posit formats have a slightly smaller range of precisely-encoded contiguous integers in them, maybe regular floats/doubles are better where you're doing something shady like using them in place of a proper integer type (*cough cough javascript*)...
On 11/11/22 09:42, Marcel Taeumel wrote:
Hmm... Patrick just pointed out to me that this critique addresses Unum I. "Posits" are Unum III: https://en.wikipedia.org/wiki/Unum_(number_format) https://en.wikipedia.org/wiki/Unum_(number_format)
Hmm...
Best, Marcel
Am 11.11.2022 04:34:31 schrieb Craig Latta <craig@blackpagedigital.com
:
This critique was interesting also, by William Kahan, the main architect of the IEEE 754-1985 floating-point spec:
https://people.eecs.berkeley.edu/~wkahan/UnumSORN.pdf
-C
-- Craig Latta :: research computer scientist :: Black Page Digital :: Berkeley, California :: 663137D7940BF5C0AF :: C1349FB2ADA32C4D5314CE ::
Hi--
Tony writes:
Here's a more up-to-date criticism:
https://hal.inria.fr/hal-01959581v2/document
Florent de Dinechin, Luc Forget, Jean-Michel Muller, Yohann Uguen. Posits: the good, the bad and the ugly. 2018. hal-01959581v2
Thank you! Lots of compelling future work suggested there.
...since the standard posit formats have a slightly smaller range of precisely-encoded contiguous integers in them, maybe regular floats/doubles are better where you're doing something shady like using them in place of a proper integer type (*cough cough javascript*)...
Nicolas responds:
Concerning languages like Javascript, please note that all integers up to 2^48 are representable on Posit64 with es=2, or up to 2^52 on Posit64 with es=3, if I'm not mistaken... So it does not make a great difference with Float64.
In the announcement[1] in March 2022 of the first ratified version of Posit standard[2]:
"NOTE: Contrary to the original paper by Gustafson and Yonemoto, and to early versions of the Standard, the exponent size (eS) is always 2 and does not vary with the precision. This greatly simplifies conversions between precisions and the creation of correctly-rounded math library functions, and in hundreds of experiments with real applications has shown to be a better choice. We thank all members of the Posit Working Group for their efforts."
-C
[1] https://posithub.org/khub_doc [2] https://posithub.org/docs/posit_standard-2.pdf
-- Craig Latta :: research computer scientist :: Black Page Digital :: Berkeley, California :: 663137D7940BF5C0AF :: C1349FB2ADA32C4D5314CE ::
squeak-dev@lists.squeakfoundation.org