MCPcopy Create free account
hub / github.com/AdaptiveCpp/AdaptiveCpp / submit_kernel

Method submit_kernel

src/runtime/omp/omp_queue.cpp:402–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

400}
401
402result omp_queue::submit_kernel(kernel_operation &op, const dag_node_ptr& node) {
403 HIPSYCL_DEBUG_INFO << "omp_queue: Submitting kernel..." << std::endl;
404
405 rt::backend_kernel_launch_capabilities cap;
406 cap.provide_sscp_invoker(&_sscp_code_object_invoker);
407
408 const kernel_configuration *config =
409 &(op.get_launcher().get_kernel_configuration());
410
411 auto backend_id = _backend_id;
412 void* params = this;
413
414 omp_instrumentation_setup instrumentation_setup{op, node};
415 _worker([=, &op]() {
416 rt::dag_node* node_ptr = node.get();
417 auto instrumentation_guard = instrumentation_setup.instrument_task();
418
419 auto err = op.get_launcher().invoke(backend_id, params, cap, node_ptr);
420 if(!err.is_success())
421 rt::register_error(err);
422 });
423
424 return make_success();
425}
426
427result omp_queue::submit_sscp_kernel_from_code_object(
428 hcf_object_id hcf_object, std::string_view kernel_name,

Callers

nothing calls this directly

Calls 8

register_errorFunction · 0.85
make_successFunction · 0.85
provide_sscp_invokerMethod · 0.80
instrument_taskMethod · 0.80
is_successMethod · 0.80
getMethod · 0.45
invokeMethod · 0.45

Tested by

no test coverage detected