2012-02-15 2 views
0

Возможно ли присвоить буфер другому буферу, определенному в исходном коде OpenCL? Например, рассмотрим следующий код:Копирование буферов OpenCL напрямую

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

Мне нужно позвонить clEnqueueBuffer() снова делать?

+1

Я не понимаю вашу цель. Вы пытаетесь скопировать бафф в темп или назначить указатель баффа temp? – mfa

+0

Я хочу иметь копию «buff», помещенную в «temp», чтобы передать ее аргументу ядра. Поскольку каждый раз, когда вызывается clEnqueueNDRangeKernel(), ядро ​​должно вызываться с разными буферами. –

+0

Что такое "clEnqueueBuffer"? В OpenCL API такой функции нет –

ответ

2

Вам нужно будет скопировать бафф в temp с помощью clEnqueueCopyBuffer между вашими вызовами NDRange. Я не рекомендую это делать, если вы можете помочь. Не должно быть причин, по которым вы не можете использовать один и тот же буфер для вызовов NDRange, пока вам не понадобится какое-то другое время.

Смежные вопросы