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}
| 1615 | /// |
| 1616 | /// \see_opencl2_ref{clEnqueueSVMMemcpy} |
| 1617 | event enqueue_svm_memcpy(void *dst_ptr, |
| 1618 | const void *src_ptr, |
| 1619 | size_t size, |
| 1620 | const wait_list &events = wait_list()) |
| 1621 | { |
| 1622 | event event_; |
| 1623 | |
| 1624 | cl_int ret = clEnqueueSVMMemcpy( |
| 1625 | m_queue, |
| 1626 | CL_TRUE, |
| 1627 | dst_ptr, |
| 1628 | src_ptr, |
| 1629 | size, |
| 1630 | events.size(), |
| 1631 | events.get_event_ptr(), |
| 1632 | &event_.get() |
| 1633 | ); |
| 1634 | |
| 1635 | if(ret != CL_SUCCESS){ |
| 1636 | BOOST_THROW_EXCEPTION(opencl_error(ret)); |
| 1637 | } |
| 1638 | |
| 1639 | return event_; |
| 1640 | } |
| 1641 | |
| 1642 | /// Enqueues a command to copy \p size bytes of data from \p src_ptr to |
| 1643 | /// \p dst_ptr. The operation is performed asynchronously. |