【发布时间】:2015-02-25 17:17:02
【问题描述】:
有什么方法可以查出__host__ __device__函数代码是在CUDA上执行还是在CPU上执行?
提前致谢。
【问题讨论】:
有什么方法可以查出__host__ __device__函数代码是在CUDA上执行还是在CPU上执行?
提前致谢。
【问题讨论】:
我将您的问题解释为:
有什么方法可以知道在
__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
【讨论】: