【发布时间】:2014-06-06 15:44:45
【问题描述】:
根据CUDA math APi,许多数学函数,如正弦和余弦,都是在软件(函数)和硬件(内在函数)中实现的。这些内在函数可能使用了 GPU 的特殊功能单元,那么软件实现的意义何在?这不比硬件实现慢吗?
【问题讨论】:
标签: cuda
根据CUDA math APi,许多数学函数,如正弦和余弦,都是在软件(函数)和硬件(内在函数)中实现的。这些内在函数可能使用了 GPU 的特殊功能单元,那么软件实现的意义何在?这不比硬件实现慢吗?
【问题讨论】:
标签: cuda
要问的更好的问题是“内在函数的意义是什么?”。
答案就在编程指南的Appendix D。超越函数、三角函数和特殊函数的内在函数更快,但与软件对应的函数相比,具有更多的域限制和较低的精度。对于硬件(即图形)的主要目的,具有正弦、余弦、平方根、倒数等的快速近似函数可以在最终数学精度不重要时提高着色器性能。对于某些计算任务,不太准确的版本也可以。对于其他应用程序,内在函数可能还不够。
两者兼备允许知情的程序员做出选择:速度或准确性。
【讨论】: