Skip to content

Commit

Permalink
Reenable enqueue_migrate_mem_objects
Browse files Browse the repository at this point in the history
  • Loading branch information
inducer committed Apr 24, 2016
1 parent 6eb2295 commit 7d4f745
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 41 deletions.
36 changes: 3 additions & 33 deletions src/c_wrapper/memory_object.cpp
Expand Up @@ -96,51 +96,21 @@ memory_object__get_host_array(clobj_t _obj, void **hostptr, size_t *size)
});
}

#if PYOPENCL_CL_VERSION >= 0x1020
error*
enqueue_migrate_mem_objects(clobj_t *evt, clobj_t _queue,
const clobj_t *_mem_obj, uint32_t num_mem_obj,
cl_mem_migration_flags flags,
const clobj_t *_wait_for, uint32_t num_wait_for)
{
#if PYOPENCL_CL_VERSION >= 0x1020
const auto wait_for = buf_from_class<event>(_wait_for, num_wait_for);
const auto mem_obj = buf_from_class<memory_object>(_mem_obj, num_mem_obj);
auto queue = static_cast<command_queue*>(_queue);
return c_handle_retry_mem_error([&] {
pyopencl_call_guarded(clEnqueueMigrateMemObjects, queue,
mem_obj, flags, wait_for, event_out(evt));
});
}
#endif

#ifdef cl_ext_migrate_memobject
error*
enqueue_migrate_mem_object_ext(clobj_t *evt, clobj_t _queue,
const clobj_t *_mem_obj, uint32_t num_mem_obj,
cl_mem_migration_flags_ext flags,
const clobj_t *_wait_for, uint32_t num_wait_for)
{
const auto wait_for = buf_from_class<event>(_wait_for, num_wait_for);
const auto mem_obj = buf_from_class<memory_object>(_mem_obj, num_mem_obj);
auto queue = static_cast<command_queue*>(_queue);
return c_handle_error([&] {
#if PYOPENCL_CL_VERSION >= 0x1020
// {{{ get platform
cl_device_id dev;
pyopencl_call_guarded(clGetCommandQueueInfo, queue, CL_QUEUE_DEVICE,
size_arg(dev), nullptr);
cl_platform_id plat;
pyopencl_call_guarded(clGetDeviceInfo, dev, CL_DEVICE_PLATFORM,
size_arg(plat), nullptr);
// }}}
#else
PYOPENCL_UNSUPPORTED(clEnqueueMigrateMemObjects, "CL 1.1 and below")
#endif
auto clEnqueueMigrateMemObjectEXT =
pyopencl_get_ext_fun(plat, clEnqueueMigrateMemObjectEXT);
retry_mem_error([&] {
pyopencl_call_guarded(clEnqueueMigrateMemObjectsEXT, queue,
mem_obj, flags, wait_for,
event_out(evt));
});
});
}
#endif
14 changes: 6 additions & 8 deletions src/c_wrapper/wrap_cl_core.h
Expand Up @@ -239,17 +239,15 @@ error *enqueue_wait_for_events(clobj_t _queue, const clobj_t *_wait_for,
uint32_t num_wait_for);
error *enqueue_marker(clobj_t *event, clobj_t queue);
error *enqueue_barrier(clobj_t queue);
/* FIXME reenable
error *enqueue_migrate_mem_objects(clobj_t *evt, clobj_t _queue,
const clobj_t *_mem_obj, uint32_t,
cl_mem_migration_flags flags,
const clobj_t *_wait_for, uint32_t);
error *enqueue_migrate_mem_object_ext(clobj_t *evt, clobj_t _queue,
const clobj_t *_mem_obj, uint32_t,
cl_mem_migration_flags_ext flags,
const clobj_t *_wait_for, uint32_t);
*/
// enqueue_*_buffer*
const clobj_t *_wait_for, uint32_t num_wait_for);

// }}}

// {{{ enqueue_*_buffer*

error *enqueue_read_buffer(clobj_t *event, clobj_t queue, clobj_t mem,
void *buffer, size_t size, size_t device_offset,
const clobj_t *wait_for, uint32_t num_wait_for,
Expand Down

0 comments on commit 7d4f745

Please sign in to comment.