CUDA / CPU上的代码执行

时间:2014-12-29 13:53:55

标签: function cuda gpu cpu

有没有办法找出__host__ __device__功能代码在CUDA或CPU上执行?

提前致谢。

1 个答案:

答案 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