Enqueues a command to copy \p size bytes of data from \p src_ptr to \p dst_ptr. \opencl_version_warning{2,0} \see_opencl2_ref{clEnqueueSVMMemcpy}
| 1672 | /// |
| 1673 | /// \see_opencl2_ref{clEnqueueSVMMemcpy} |
| 1674 | event enqueue_svm_memcpy(void *dst_ptr, |
| 1675 | const void *src_ptr, |
| 1676 | size_t size, |
| 1677 | const wait_list &events = wait_list()) |
| 1678 | { |
| 1679 | event event_; |
| 1680 | |
| 1681 | cl_int ret = clEnqueueSVMMemcpy( |
| 1682 | m_queue, |
| 1683 | CL_TRUE, |
| 1684 | dst_ptr, |
| 1685 | src_ptr, |
| 1686 | size, |
| 1687 | events.size(), |
| 1688 | events.get_event_ptr(), |
| 1689 | &event_.get() |
| 1690 | ); |
| 1691 | |
| 1692 | if(ret != CL_SUCCESS){ |
| 1693 | BOOST_THROW_EXCEPTION(opencl_error(ret)); |
| 1694 | } |
| 1695 | |
| 1696 | return event_; |
| 1697 | } |
| 1698 | |
| 1699 | /// Enqueues a command to copy \p size bytes of data from \p src_ptr to |
| 1700 | /// \p dst_ptr. The operation is performed asynchronously. |