-
Data: 2013-03-26 22:29:49
Temat: Re: Nowoczesne procesory - jak to z nimi jest?
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu wtorek, 26 marca 2013 22:01:28 UTC+1 użytkownik Adam Klobukowski napisał:
> Standard definiuje miedzy innymi typy danych (np 32, 64, 80 bit float), i w
> jego zakresie nie da się zmienić dokładności.
Dla mnie z tego nic nie wynika. Nie wiem co znaczy "zmienić dokładność".
Jeśli typ składa się z iluś tam bitów, jedyną sensowną dokładnością jaką
jestem sobie w stanie wyobrazić, jest dokładność co do najmniej znaczącego
bitu. Jeśli liczba jest sumą całkowitych potęg dwójki i mieści się w zakresie
typu, to nie ma żadnego ważnego powodu aby obliczenia nie były przeprowadzone
dokładnie. Można to osiągnąć i sprzętowo, i software'ow - np. w kompilatorze,
albo w bibliotece do obliczeń zmiennoprzecinkowych. Podobnie sprawa ma
się w każdej innej reprezentacji niż dwójkowa.
Mogę zrozumieć że przyjmuje się różną strategię zaokrągleń ostatniego bitu,
ale jeśli mogą pojawiać się jakieś losowe/deterministyczne i zarazem
niedokładne wartości w najmniej znaczących bitach to sorry, ale dlaczego
mam to nazywać inaczej niż "niedokładne obliczenia tam, gdzie dokładnie
policzyć można"?
> Rózne procesory tej samej architektury mogą wykonywać te same operacji
> tożsamo ale nie identycznie, choćby dlatego że jedna liczba może mieć kilka
> reprezentacji zmiennoprzecinkowych. To się kumuluje w ciągu kilku operacji
> zmiennoprzecinkowych. Do niwelowania tego typu problemów (między innymi)
> służy opcja -march w kompilatorach. Jak się robi krytyczne obliczenia, to się
> mierzy błąd operacji zmiennoprzecinkowych i jak wychodzi za dużo to się
> kombinuje.
Tematyka jest ciekawa, ale byśmy musieli uściślić to o czym rozmawiamy. Ja
trochę się gubię, czasami nie wiem czy w tym wątku rozmawiamy o złym
szkolnictwie, czy o procesorach, czy o kompilatorach. Podobno mam się
czegoś nauczyć, strasznie boli mnie to, że nie wiem czego, tym bardziej
że chcę :)
Że błędy mogą się nakładać - to wiem. Z opcją march kombinowałem,
kilka razy i nie zaobserwowałem żadnych różnic - może trafiłem na
specyficzne kompilatory/procesory/obliczenia - nie wiem. Z opcją
fast-math też kombinowałem - tam gdzie sprawdziłem, też nie było
najmniejszych różnic. Jeśli w jakimś przypadku traciłem dokładność
obliczeń, to kombinowałem - czyli robiłem tak jak mówisz. Przywracałem
stabilność jakimś technikami, nie tylko przy pomocy abs(v1-v2) < epsilon.
W to że 2+2==4.0000000001 nie oznacza niedokładnych obliczeń jak niektórzy
(chyba) sugerowali, nie uwierzę na pewno :)
Więc czego powinienem się douczyć?
Pozdrawiam
Następne wpisy z tego wątku
- 26.03.13 22:45 Stachu 'Dozzie' K.
- 26.03.13 22:53 AK
- 26.03.13 23:01 bartekltg
- 26.03.13 23:11 M.M.
- 26.03.13 23:33 Adam Klobukowski
- 26.03.13 23:40 M.M.
- 27.03.13 01:38 bartekltg
- 27.03.13 08:31 M.M.
- 27.03.13 08:42 Tomasz Kaczanowski
- 27.03.13 08:47 Tomasz Kaczanowski
- 27.03.13 08:54 AK
- 27.03.13 08:55 AK
- 27.03.13 09:42 M.M.
- 27.03.13 09:47 M.M.
- 27.03.13 10:10 Tomasz Kaczanowski
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=