CUDA exp () expf () и __expf () - PullRequest
       6

CUDA exp () expf () и __expf ()

11 голосов
/ 31 августа 2011

Как оптимизировать функцию exp в cuda? Каковы различия между следующими в CUDA ??

   exp()
   expf()
   __expf()

Ответы [ 2 ]

15 голосов
/ 01 сентября 2011

Различия объяснены в Руководстве по программированию CUDA C , приложение D.

  • exp() следует использовать для двойной точности, хотя следует перегружать для одиночной
  • expf() следует использовать для одинарной точности (float)
  • __expf() - это версия с быстрой математикой, производительность быстрее с некоторой потерей точности (зависит от входного значения,см. руководство для получения более подробной информации.
4 голосов
/ 31 августа 2011

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

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