2012-02-15 87 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調用,除非你在此期間需要它來做其他事情。