2012-02-15 75 views
0

是否可以将缓冲区分配给OpenCL源代码中定义的另一个缓冲区? 例如,请考虑下面的代码:直接复制OpenCL缓冲区

cl_mem buff; 
cl_mem temp; 
... 
... 
... 
temp = buff; 

我是否需要再次调用clEnqueueBuffer()?

+1

我不明白你的目标。你是否想把buff复制到temp中,或者将buff的指针指向temp? – mfa 2012-02-15 16:19:53

+0

我想将'buff'的副本放入'temp'中以将它传递给内核参数。因为每次调用clEnqueueNDRangeKernel()时都应该用不同的缓冲区调用内核。 – 2012-02-15 16:29:47

+0

什么是“clEnqueueBuffer”? OpenCL API中没有这样的功能 – 2017-08-18 13:01:41

回答

2

您需要在NDRange调用之间使用clEnqueueCopyBuffer将buff复制到temp。如果你可以帮忙的话,我不建议你这样做。不应该为什么你不能使用相同的缓冲区来处理NDRange调用,除非你在此期间需要它来做其他事情。