有没有办法找出__host__ __device__
功能代码在CUDA或CPU上执行?
提前致谢。
答案 0 :(得分:1)
我将您的问题解释为:
有没有办法知道
__host__ __device__
函数中的代码是在设备上还是在主机上执行?
截至今天,没有运行时官方可靠的技巧来检测它。无论如何,您可以使用__CUDACC__
宏来实现"专门化"您的设备和/或主机代码:
__host__ __device__ void yourfunction() {
#ifdef __CUDACC__
// Device code branch
#else
// Host code branch
#endif
}
参考:http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#host