PyCUDA:设备代码中的Pow尝试使用std :: pow,失败
|
问题或多或少说明了一切。
calling a host function(\"std::pow<int, int> \") from a __device__/__global__ function(\"_calc_psd\") is not allowed
据我了解,这应该改为使用cuda pow函数,但事实并非如此。
没有找到相关结果
已邀请:
1 个回复
佩疵瓦
编辑:我第一次错过的位是在错误中报告的模板说明符。您确定要向pow传递float或double参数吗?如果传递整数,则CUDA标准库中没有重载函数,这就是为什么它可能会失败的原因。如果需要整数pow函数,则必须自己滚动(或进行强制转换,但是pow是相当昂贵的函数,我敢肯定,某些级联整数乘法会更快)。