Hard-float и производительность

8

С тех пор, как появилось официальное изображение Raspbian, много говорилось о хард-плавающем потоке - часто упоминаемом как одна из самых выдающихся особенностей Raspbian, обещающем «огромный прирост производительности» .

Я понимаю, что операции с плавающей запятой, выполняемые аппаратно, во много раз быстрее, чем эмулируемые, но я скептически отношусь к реальным улучшениям производительности, которые они вызывают. Плавающая точка может широко использоваться для научных вычислений и, конечно, для кодирования / декодирования мультимедиа, но не так много для обычного использования и компиляции рабочего стола.

Насколько реально эффект hard-float, если оставить в стороне искусственные тесты?

tlhIngan
источник
Для меня вычисление с плавающей точкой дает огромный импульс проекту обработки изображений (по крайней мере, для меня, над проектом, над которым я работаю).
JeeShen Lee

Ответы:

10

Это также вызвало у меня некоторую путаницу, и я потратил некоторое время на то, чтобы раскручивать колеса, исследуя, почему просмотр веб-страниц, в частности, получит такой мощный импульс от аппаратных операций с плавающей запятой, как упоминалось в новостях raspberrypi.

Разработчики программного обеспечения неправильно понимают, что область кремния на вашем компьютере, предназначенная для выполнения операций с плавающей запятой, используется только для типов данных с плавающей запятой (и аналогичных), но это не так. К счастью, страница википедии о FPU напомнила мне о том, что я узнал из моего курса по разработке цифровой логики. Большая часть арифметики, выполняемой для типа данных, который включает десятичную дробь, может быть выполнена намного быстрее в FPU, чем это может быть сделано с помощью библиотеки, которая использует обычную целочисленную арифметику ЦП. Сайт ARM немного рассказывает об их версии FPU и о том, где ее можно использовать для повышения производительности http://www.arm.com/products/processors/technologies/vector-floating-point.php .

Что касается повседневной производительности рабочего стола, учитывайте каждый раз, когда браузер отображает страницу на вашем экране. Значения подпикселей рассчитываются только для шрифта, и всем браузерам трудно вычислить ширину страницы и найти все, что нужно. где вы можете себе представить, что используются десятичные значения, должно наблюдаться увеличение производительности по сравнению с реальными аппаратными операциями с плавающей запятой, а не программной библиотекой, имитирующей его целочисленными операциями.

Дэн Б
источник