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

Method enqueue_task

include/boost/compute/command_queue.hpp:1473–1499  ·  view source on GitHub ↗

Enqueues a kernel to execute using a single work-item. \see_opencl_ref{clEnqueueTask}

Source from the content-addressed store, hash-verified

1471 ///
1472 /// \see_opencl_ref{clEnqueueTask}
1473 event enqueue_task(const kernel &kernel, const wait_list &events = wait_list())
1474 {
1475 BOOST_ASSERT(m_queue != 0);
1476 BOOST_ASSERT(kernel.get_context() == this->get_context());
1477
1478 event event_;
1479
1480 // clEnqueueTask() was deprecated in OpenCL 2.0. In that case we
1481 // just forward to the equivalent clEnqueueNDRangeKernel() call.
1482 #ifdef BOOST_COMPUTE_CL_VERSION_2_0
1483 size_t one = 1;
1484 cl_int ret = clEnqueueNDRangeKernel(
1485 m_queue, kernel, 1, 0, &one, &one,
1486 events.size(), events.get_event_ptr(), &event_.get()
1487 );
1488 #else
1489 cl_int ret = clEnqueueTask(
1490 m_queue, kernel, events.size(), events.get_event_ptr(), &event_.get()
1491 );
1492 #endif
1493
1494 if(ret != CL_SUCCESS){
1495 BOOST_THROW_EXCEPTION(opencl_error(ret));
1496 }
1497
1498 return event_;
1499 }
1500
1501 /// Enqueues a function to execute on the host.
1502 event enqueue_native_kernel(void (BOOST_COMPUTE_CL_CALLBACK *user_func)(void *),

Callers 15

BOOST_AUTO_TEST_CASEFunction · 0.80
BOOST_AUTO_TEST_CASEFunction · 0.80
seedMethod · 0.80
generate_stateMethod · 0.80
dereferenceMethod · 0.80
reduceFunction · 0.80
serial_accumulateFunction · 0.80
serial_find_extremaFunction · 0.80
serial_count_ifFunction · 0.80
radix_sort_implFunction · 0.80
serial_reduceFunction · 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 2

BOOST_AUTO_TEST_CASEFunction · 0.64
BOOST_AUTO_TEST_CASEFunction · 0.64