【发布时间】:2013-07-08 20:50:39
【问题描述】:
我经常在 CUDA 中使用复数算术,并且需要定义我自己的实现,例如复数的超越函数(sin、cos、exp、...)。我现在想通过编写此类函数的库来明确解决问题,以便考虑“大量”案例并避免在任何时候因新实现而陷入困境。
我知道,对于其中一些人来说,从准确性和计算复杂性之间的权衡角度来看,编写代码可能并非易事。尽管如此,我也知道 C++ 有自己的complex math library。
是否有可能为 CUDA 目的“回收”现有的 C++ 解决方案?
【问题讨论】:
-
我们在CUDA Complex Library Download Page共享了一个
__device__函数和复数运算符库,包括以下函数:real、imag、abs、angle、@987654331 @,log,log10,polar,sqrt,sin,cos,tan,exp,pow,acosh,acosh,acosh,@987654342sinh,cosh,tanh,asin,atan,acos。在可下载的压缩文件中,有一个 Stand-Along Complex 目录以及一个 Visual Studio 使用示例。我们希望它对社区有用。当然,欢迎任何批评:-)