Pytanie:
Hard-float i wydajność
user13
2012-07-24 04:43:37 UTC
view on stackexchange narkive permalink

Odkąd pojawił się oficjalny obraz Raspbian, dużo mówi się o hard-float - często wymienianym jako jedna z najważniejszych cech Raspbian, obiecująca „ogromny wzrost wydajności” .

Zdaję sobie sprawę, że operacje zmiennoprzecinkowe wykonywane na sprzęcie są wielokrotnie szybsze niż emulowane, ale jestem sceptycznie nastawiony do rzeczywistych ulepszeń wydajności, które to przynosi. Punkt zmiennoprzecinkowy może być szeroko stosowany do obliczeń naukowych i tak, do kodowania / dekodowania multimediów, ale nie tak bardzo do typowego wykorzystania i kompilacji na komputerach stacjonarnych.

Jaki wpływ ma naprawdę hard-float, pomijając sztuczne testy porównawcze?

Dla mnie obliczenia zmiennoprzecinkowe dają ogromne przyspieszenie w projekcie przetwarzania obrazu (przynajmniej dla mnie, w projekcie, nad którym pracuję).
Jeden odpowiedź:
#1
+10
Dan B
2012-07-24 10:22:29 UTC
view on stackexchange narkive permalink

To również spowodowało pewne zamieszanie i poświęciłem trochę czasu na kręcenie kołami, badając, dlaczego w szczególności przeglądanie sieci WWW mogłoby uzyskać tak duży wzrost dzięki sprzętowym operacjom zmiennoprzecinkowym, jak wspomniano w wiadomościach raspberrypi.

Tutaj jest nieporozumieniem wśród programistów, że obszar krzemu w twoim komputerze przeznaczony do wykonywania operacji zmiennoprzecinkowych jest używany tylko dla typów danych typu Float (i podobnych), ale to nieprawda. Na szczęście strona wikipedii o FPU przypomniała mi o tym, czego nauczyłem się na moim kursie projektowania logiki cyfrowej. Większość działań arytmetycznych wykonywanych na typach danych zawierających ułamki dziesiętne można wykonać znacznie szybciej w jednostce FPU niż w bibliotece, która używa zwykłej arytmetyki całkowitej procesora. Witryna ARM mówi trochę o ich wersji FPU i gdzie można ją wykorzystać do zwiększenia wydajności http://www.arm.com/products/processors/technologies/vector-floating-point.php.

Jeśli chodzi o codzienną wydajność komputerów stacjonarnych, weź pod uwagę za każdym razem, gdy przeglądarka renderuje stronę na ekranie, wartości subpikseli są obliczane tylko dla czcionki, a wszystkie przeglądarki mają trudności z ustaleniem szerokości i dopasowując wszystko do miejsca. Wszędzie tam, gdzie można sobie wyobrazić, że używane są wartości dziesiętne, powinno wzrosnąć wydajność w wyniku rzeczywistych sprzętowych operacji zmiennoprzecinkowych, a nie biblioteki oprogramowania, która udaje operacje na liczbach całkowitych.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...