在不同的内核调用之间将数据传输到gpu

时间:2012-07-25 19:05:59

标签: cuda

我有一些数据需要由几个内核访问,即如下:

//send array for results to GPU
//send data to be accessed by all kernels to GPU
call kernel1<<...>>
call kernel2<<...>>
...
call kernelN<<...>>
//retrieve array of results from GPU

有可能做到吗?即让我的数据和结果数组留在GPU的全局内存中,直到我完成所有内核。或者我必须始终在每次内核调用之前和之后发送数据并检索结果?谢谢!

1 个答案:

答案 0 :(得分:2)

全局内存具有应用程序的生命周期,因此您不必在每次内核调用之前和之后发送数据并检索结果。它将在整个应用程序期间保留在那里,而不仅仅是在内核调用期间。