CUDA exp()expf()和__expf()

时间:2011-08-31 13:45:22

标签: cuda

如何在cuda中优化exp函数? CUDA中的以下内容有何不同?

   exp()
   expf()
   __expf()

2 个答案:

答案 0 :(得分:15)

差异在CUDA C Programming Guide附录D中解释。

  • exp()应该用于双精度,尽管应该为单个
  • 重载
  • expf()应该用于单精度(float
  • __expf()是快速数学版本,性能更快,但精度有所下降(取决于输入值,有关详细信息,请参阅guide)。

答案 1 :(得分:4)

通常exp()用于双精度,expf()用于浮点数,两者都比__exp()略慢,可用作硬件操作。性能提升通常以准确性为代价,但除非你真的关心准确性,否则它应该不是问题。