我在CUDA中编写一个程序,使用双精度对sincos()
函数进行大量调用。我担心这是代码的最大瓶颈之一,我无法减少对函数的调用次数。
在CUDA或我可以导入的库中,sincos
是否有任何合适的近似值?我也非常关心准确性,因此近似越好,我的代码就会越快。
我还考虑过建立一个查询表或用他们的泰勒系列逼近价值观,但在走这条路之前我想要一些意见。
答案 0 :(得分:4)
CUDA math api中提供了一种非常快速且准确的sincos
功能。只需加入math.h
即可。或者使用sincosf
(here),如果这对您有用。 (我知道你在问题中说过双精度。只是指出一些事情。)
如果您可以使用sincospif
代替sincosf
,@ njuffa已经完成了他可能感兴趣的魔法here。
This question和this question也可能会让您感兴趣。