MCPcopy Create free account
hub / github.com/boostorg/compute / enqueue_copy_buffer

Method enqueue_copy_buffer

include/boost/compute/command_queue.hpp:640–672  ·  view source on GitHub ↗

Enqueues a command to copy data from \p src_buffer to \p dst_buffer. \see_opencl_ref{clEnqueueCopyBuffer} \see copy()

Source from the content-addressed store, hash-verified

638 ///
639 /// \see copy()
640 event enqueue_copy_buffer(const buffer &src_buffer,
641 const buffer &dst_buffer,
642 size_t src_offset,
643 size_t dst_offset,
644 size_t size,
645 const wait_list &events = wait_list())
646 {
647 BOOST_ASSERT(m_queue != 0);
648 BOOST_ASSERT(src_offset + size <= src_buffer.size());
649 BOOST_ASSERT(dst_offset + size <= dst_buffer.size());
650 BOOST_ASSERT(src_buffer.get_context() == this->get_context());
651 BOOST_ASSERT(dst_buffer.get_context() == this->get_context());
652
653 event event_;
654
655 cl_int ret = clEnqueueCopyBuffer(
656 m_queue,
657 src_buffer.get(),
658 dst_buffer.get(),
659 src_offset,
660 dst_offset,
661 size,
662 events.size(),
663 events.get_event_ptr(),
664 &event_.get()
665 );
666
667 if(ret != CL_SUCCESS){
668 BOOST_THROW_EXCEPTION(opencl_error(ret));
669 }
670
671 return event_;
672 }
673
674 #if defined(BOOST_COMPUTE_CL_VERSION_1_1) || defined(BOOST_COMPUTE_DOXYGEN_INVOKED)
675 /// Enqueues a command to copy a rectangular region from

Callers 3

cloneMethod · 0.80
dispatch_copyFunction · 0.80
dispatch_copy_asyncFunction · 0.80

Calls 6

get_contextMethod · 0.95
wait_listClass · 0.85
opencl_errorClass · 0.85
get_event_ptrMethod · 0.80
sizeMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected