Program Language/OpenCL
clEnqueueCopyBufferRect vs clEnqueueWriteBufferRect
Leo 리오
2012. 5. 22. 13:40
반응형
cl_int clEnqueueCopyBufferRect ( | cl_command_queue command_queue, |
cl_mem src_buffer, | |
cl_mem dst_buffer, | |
const size_t src_origin[3], | |
const size_t dst_origin[3], | |
const size_t region[3], | |
size_t src_row_pitch, | |
size_t src_slice_pitch, | |
size_t dst_row_pitch, | |
size_t dst_slice_pitch, | |
cl_uint num_events_in_wait_list, | |
const cl_event *event_wait_list, | |
cl_event *event) |
cl_int clEnqueueWriteBufferRect ( | cl_command_queue command_queue, |
cl_mem buffer, | |
cl_bool blocking_write, | |
const size_t buffer_origin[3], | |
const size_t host_origin[3], | |
const size_t region[3], | |
size_t buffer_row_pitch, | |
size_t buffer_slice_pitch, | |
size_t host_row_pitch, | |
size_t host_slice_pitch, | |
void *ptr, | |
cl_uint num_events_in_wait_list, | |
const cl_event *event_wait_list, | |
cl_event *event) |
모지?
했는데 완전 다른 함수.
copy는 src_buffer(cl_mem)에서 dst_buffer(cl_mem)으로 (device내) 복사 하는거고,
write는 host의 ptr(void*)을 device의 buffer(cl_mem)으로 쓰기(transfer).
이게 아마 2point 배열에서만 사용가능한거 같다.
int[][]는 사용불가이고,
int**에서 사용가능 할듯.
int[][]는 clEnqueueR,WBuffer나 clEnqueueR,WImage를 사용해야할듯..
![]() |
|
![]() |
|
반응형