Closed
Description
The issue deals with extending the C-API to support sycl::event
. The sub-tasks include:
- Add a new function
DPCTLEvent_Copy
to create a copy of asycl::event
. Look at existing implementation ofDPCTLQueue_Copy
Add a new DPCTLEvent_Copy function #504 . - Add a new function
DPCTLEvent_WaitAndThrow(ERef)
that wrapssycl::event::wait_and_throw()
Add a new DPCTLEvent_WaitAndThrow function #513 - Add a new function
DPCTLEvent_GetBackend(ERef)
that will return the back end associated with asycl::event
Add a new DPCTLEvent_GetBackend function #507 . - Add a new function
DPCTLEvent_GetWaitList(ERef)
to wrapsycl::event::get_wait_list()
returning a vector of events Add a new DPCTLEvent_GetWaitList function #510 . - Add a new function
DPCTLEvent_GetCommandExecutionStatus(ERef)
to wrapsycl::event::get_info<sycl::info::event::command_execution_status>()
returning anenum class event_command_status : int { submitted, running, complete}
. Add a new DPCTLEvent_GetCommandExecutionStatus function #516 - Add wrapper functions for :
-
sycl::event::get_profiling_info<sycl::info::event_profiling::command_submit>()
-
sycl::event::get_profiling_info<sycl::info::event_profiling::command_start>()
-
sycl::event::get_profiling_info<sycl::info::event_profiling::command_end>()
All these functions will return auint64_t
value of device timer corresponding to the logged time of referenced operations. These are blocking operations (i.e. wait on the event), and throwsycl::invalid_object_code
if the queue that created the event did not have profiling enabled. Add 3 new functions for sycl::event::get_profiling_info #519
-
Metadata
Metadata
Assignees
Labels
No labels