Cuda 如何将值从全局方法返回到内核方法?

Cuda 如何将值从全局方法返回到内核方法?,cuda,Cuda,我在内核方法中调用一个全局方法,我想从这个方法返回一个值,并在内核中继续使用它。我知道\uuuu全局方法是无效的,但我如何才能返回值?我想我理解你的意思 将所需变量作为全局函数的参数 在函数调用后使用cudaMemcpy,将值从GPU传递到CPU。例如:cudaMemcpy(主机值、设备值、sizeof(浮点)、cudaMemcpyDeviceToHost) 全局方法和内核方法是一样的。您可能有一个父内核和一个子内核。建立指向全局内存的指针,并为要返回的数据分配适当的大小。将该指针传递给子内核。

我在内核方法中调用一个全局方法,我想从这个方法返回一个值,并在内核中继续使用它。我知道
\uuuu全局方法是无效的,但我如何才能返回值?

我想我理解你的意思

  • 将所需变量作为全局函数的参数

  • 在函数调用后使用
    cudaMemcpy
    ,将值从GPU传递到CPU。例如:
    cudaMemcpy(主机值、设备值、sizeof(浮点)、cudaMemcpyDeviceToHost)


  • 全局方法和内核方法是一样的。您可能有一个父内核和一个子内核。建立指向全局内存的指针,并为要返回的数据分配适当的大小。将该指针传递给子内核。让子内核用它希望返回的数据填充指针/分配区域。子内核启动完成后,父内核可以使用前面提到的指针检索要返回的数据。从概念上讲,这类似于从主机内核启动向主机代码返回数据的方式。