🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #216478

Re: Kiedy 128 bitów koprocesora ?

#216478
From: godek.maciek
Date: Fri, 08 Nov 2019 08:56
35 lines
3651 bytes
W dniu czwartek, 7 listopada 2019 19:59:49 UTC+1 użytkownik Borneq napisał:
> Moim pierwszym komputerem na studiach był w 1992 czy 1993 roku 386sx 
> 33MHZ, z dość dużym dyskiem 80 MB.
> W tym także czasie przeczytałem w czasopiśmie "Komputer" że powstał 
> koprocesor ziennoprzecinkowy 80387 z niesamowitymi możliwościami: 80 
> bitów, największe liczby to ponad 10^4000, 18-19 cyfr dokładności (a 
> może więcej, bo 18-19 double?), wiele funkcji.
> Potem w 486dx już miałem wbudowany koprocesor.
> Tyle że przez lata nie podbito dokładności.Z 80 bitów i tak głownie 
> używam 64 bity, jak w c/c++ użyć 80? bo w starym pascalu był typ 
> extended, a w C z powodów przenośności nie używa się jakoś 80 bitów.

Używa się. Tylko to użycie nie jest bezpośrednio wyeksponowane dla użytkownika.
Koprocesor używa 80 bitów w obliczeniach pośrednich liczb 64-bitowych, żeby minimalizować błędy wprowadzane przez zaokrąglenia.

> A przydałoby się 128 bitów, może 160 i 256?

Przydałoby się do czego?

Raczej trendy w przemyśle są takie, że w wielu zastosowaniach (głównie deep learning) używa się liczb zmiennopozycyjnych o zmniejszonej precyzji:

https://en.wikipedia.org/wiki/Half-precision_floating-point_format

Producenci hardware'u śledzą trendy w przemyśle. I dla przemysłu, najwidoczniej, typ "double" jest w większości przypadków zadowalający.

> Wprawdzie GMP/MPIR+MPFR nie takie długie liczby potrafi liczyć, ale 
> zawsze jest to software a nie hardware i koprocesor mógłby liczyć szybciej.

No właśnie tutaj jest "Hund begraben".

Precyzja koprocesora ma to do siebie, że jaka by nie była, będzie zawsze skończona. Co więcej, liczby zmiennopozycyjne *z definicji* reprezentują niedokładną arytmetykę, w której 1 + 2 nie zawsze równa się 3.

Liczby zmiennopozycyjne charakteryzują się tym, że można ich używać zarówno w skali mikro, jak i w skali makro -- ale gdy przechodzimy od jednej skali do drugiej, tracimy precyzję.

Źródłowym pytaniem jest to, co chcesz liczyć, w jaki sposób, i do czego chcesz tych wyników używać - i dlaczego to, co daje GMP, jest niewystarczające.
Technical Details
Message-ID: <1101de65-f693-486d-a75f-b5541cdfbf27@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!89.187.174.225.MISMATCH!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!j16no1100084qtl.0!news-out.google.com!g53ni1102qtg.0!nntp.google.com!j16no1100077qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <5dc46995$0$17354$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:484b:: with SMTP id v72mr7836196qka.251.1573203399770; Fri, 08 Nov 2019 00:56:39 -0800 (PST)
X-Received: by 2002:a37:9d44:: with SMTP id g65mr7541531qke.302.1573203399435; Fri, 08 Nov 2019 00:56:39 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net!2.eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!89.187.174.225.MISMATCH!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!j16no1100084qtl.0!news-out.google.com!g53ni1102qtg.0!nntp.google.com!j16no1100077qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 8 Nov 2019 00:56:39 -0800 (PST)
In-Reply-To: <5dc46995$0$17354$65785112@news.neostrada.pl>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.192.68.153; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 213.192.68.153
References: <5dc46995$0$17354$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1101de65-f693-486d-a75f-b5541cdfbf27@googlegroups.com>
Subject: Re: Kiedy 128 bitów koprocesora ?
From: godek.maciek@gmail.com
Injection-Date: Fri, 08 Nov 2019 08:56:39 +0000
Lines: 58
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit