【发布时间】:2016-10-15 12:12:30
【问题描述】:
我有一些代码非常有用,值得作为自己的内核并独立运行。另一方面,我有另一段代码将第一个代码用作大型算法中的一个阶段。因此,我希望两者都通过内核启动调用第一个函数,都作为一个简单的devsion。
现在,您不能只从另一个 __global__ 函数调用 __global__ 函数;并且您不允许将函数标记为 __global__ __device__ (这真的太糟糕了,我原以为这是可能的)。那么你如何调用这个函数呢?
【问题讨论】:
-
@talonmies:完成。
-
没有完成,因为假设不正确。您可以从 CC 3.5 (Kepler) 开始从
__global__调用__global__。甚至递归;)。该功能称为dynamic parallelism -
@Drop:但我并不是说启动子网格,只是一个常规的函数调用。
-
这句话对我来说没有意义,我建议重新措辞以澄清问题:“因此,我希望两者都通过内核启动调用第一个函数,都作为一个简单的开发。”
标签: cuda