Разница во времени расчета с плавающей и двойной на OpenCL? - PullRequest
0 голосов
/ 11 октября 2018

Я использую AMD GPU и OpenCL 1.2.Все мои расчеты используют двойные переменные.Кто исследовал эту тему, подскажите пожалуйста, есть ли смысл переписывать все на поплавке?Будет ли большая разница во времени расчета?

1 Ответ

0 голосов
/ 11 октября 2018

Насколько быстрее плавающие против двойников зависит от точного оборудования.Некоторые профессиональные графические процессоры AMD специально оптимизированы для парных разрядов (например, AMD FirePro 9100).На таком оборудовании умножение double вдвое быстрее, чем умножение float, и сложение - это та же скорость.

На большинстве обычных потребительских аппаратных средств (большинство Radeon) разница составляет около 1/16 и 1/ 8 соответственно.Есть также некоторые устройства, которые находятся между ними, со скоростью примерно от 1/4 до 1/2 для поплавков.

Точную информацию можно найти в Руководстве по оптимизации OpenCL от AMD, раздел 2.7.1 «Пропускная способность инструкций».

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...