CUDA fmod -不允许从__global__函数调用__host__函数

CUDA fmod - calling a __host__ function from a __global__ function is not allowed

本文关键字:global 函数调用 host 函数 fmod 不允许 CUDA      更新时间:2023-10-16

我正在用VS2012编译CUDA 5项目,我收到这个错误:

error : calling a __host__ function("fmod<float, int> ") from a __global__ function is not allowed

编译器实际上不匹配CUDA __device__ fmod与math.h中定义的fmod

我如何在它们之间"消除歧义"?

由于模板参数不匹配而发生这种情况。你用一个浮点参数和一个整数参数调用fmod。对于一对单精度或双精度浮点实参,只有一个设备模板实参(见这里)。

你可能要找的是fmod(float, (float)int) ....