根据CUDA math APi,许多数学函数,如正弦和余弦,都在软件(函数)和硬件(内在函数)中实现。这些内在函数可能使用GPU的特殊功能单元,那么软件实现的重点是什么?这不比硬件实现慢吗?
答案 0 :(得分:14)
更好的问题是“内在论的意义何在?”。
答案在于编程指南的Appendix D。超越,三角函数和特殊函数的内在函数更快,但具有更多的域限制,并且通常比软件对应的精度更低。对于硬件(即图形)的主要目的,具有sin,cos,平方根,倒数等的快速近似函数允许在最终数学精度不是关键时改进着色器性能。对于某些计算任务,不太准确的版本也很好。对于其他应用程序,内在函数可能还不够。
两者都允许知情程序员做出选择:速度或准确性。