我经常在CUDA中使用复杂的算术,并且需要在复数上定义我自己的实现,例如,超越函数(sin
,cos
,exp
,...) 。我现在想要通过编写这样的函数库来解决问题,以便考虑“大量”案例并避免在任何时候进行新的实现。
我知道,对于其中一些代码,从准确性和计算复杂性之间的权衡的角度来看,代码编写可能并非易事。不过,我也知道C ++有自己的complex math library。
是否有可能为CUDA目的“回收”现有的C ++解决方案?
答案 0 :(得分:1)
可能你已经找到了答案,但这是我的:
有可能“回收”sources for complex C++ ISO library
UPD:
CUDA相关:cusp::complex< float > Struct Template Reference
我认为您可以尝试与以下作者合作:
an implementation of C++ std::complex for CUDA devices (i.e. compiles with nvcc)