c - ClEnqueueCopyBuffer with offset 1 -


to optimize kernel need make copy of cl_mem object offset.

count_buffer3[n] = count_buffer[n+1]  

is desired result

looking @ specification of clenqueuecopybuffer seems possible simple argument.

cl_int clenqueuecopybuffer (    cl_command_queue command_queue,     cl_mem src_buffer,     cl_mem dst_buffer,     size_t src_offset,     size_t dst_offset,     size_t cb,     cl_uint num_events_in_wait_list,     const cl_event *event_wait_list,     cl_event *event) 

my idea set dst_offset 1. copy_buffer[0] goes copy_buffer[1] in case command looks like:

    clenqueuecopybuffer(command_queue, count_buffer, count_buffer3, 1, 0, (incount1 + 1) * sizeof(int), null, null, null); 

so want copy count_buffer count_buffer3 offset of 1. result should this:

count_buffer[1] = 2 count_buffer[2] = 12 count_buffer[3] = 26  count_buffer3[1] = 12 count_buffer3[2] = 26 

unfortunately, if dst_offset 1 shown in example complete count_buffer3 object contains "0" int values.

if offset 0, copy works fine , both count_buffers identical.

additional information: here init of clmem objects:

cl_mem count_buffer3 = clcreatebuffer(context, cl_mem_read_write, (incount1 + 1) * sizeof(int), null, &err); errwrapper("create buffer", err);  cl_mem count_buffer = clcreatebuffer(context, cl_mem_read_write, (incount1+1) * sizeof(int), null, &err); errwrapper("create buffer", err); 

i using intel inde update 2 visual studio 2013

am doing sth wrong here, or should copy offset work this?

edit: reduced buffer size 1 , result changes. instead of "0" huge numbers.

example debug:

count_buffer[0] = 0 count_buffer[1] = 31 count_buffer[2] = 31  count_buffer3[0] = 520093696 count_buffer3[1] = 520093696 count_buffer3[2] = 520093696 

it improvement "0" values, still wrong. ideas?

thanks answer far!

the offset in bytes. want offset of sizeof count_buffer[0] , size of (n - 1) * sizeof count_buffer[0]:

clenqueuecopybuffer(     command_queue, count_buffer, count_buffer3,      sizeof(cl_int), 0,      incount1 * sizeof(cl_int),      null, null, null); 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -