DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::detail::event_impl Class Reference

#include <detail/event_impl.hpp>

Collaboration diagram for sycl::_V1::detail::event_impl:

Public Types

enum  HostEventState : int { HES_NotComplete = 0 , HES_Complete , HES_Discarded }
 

Public Member Functions

 event_impl (std::optional< HostEventState > State=HES_Complete)
 Constructs a ready SYCL event. More...
 
 event_impl (ur_event_handle_t Event, const context &SyclContext)
 Constructs an event instance from a plug-in event handle. More...
 
 event_impl (const QueueImplPtr &Queue)
 
void wait (std::shared_ptr< sycl::detail::event_impl > Self, bool *Success=nullptr)
 Waits for the event. More...
 
void wait_and_throw (std::shared_ptr< sycl::detail::event_impl > Self)
 Waits for the event. More...
 
template<typename Param >
Param::return_type get_profiling_info ()
 Queries this event for profiling information. More...
 
template<typename Param >
Param::return_type get_info ()
 Queries this SYCL event for information. More...
 
template<typename Param >
Param::return_type get_backend_info () const
 Queries this SYCL event for SYCL backend-specific information. More...
 
 ~event_impl ()
 
void waitInternal (bool *Success=nullptr)
 Waits for the event with respect to device type. More...
 
void setComplete ()
 Marks this event as completed. More...
 
ur_event_handle_t & getHandleRef ()
 Returns raw interoperability event handle. More...
 
const ur_event_handle_t & getHandleRef () const
 Returns raw interoperability event handle. More...
 
const ContextImplPtrgetContextImpl ()
 Returns context that is associated with this event. More...
 
const PluginPtrgetPlugin ()
 
void setContextImpl (const ContextImplPtr &Context)
 Associate event with the context. More...
 
void setStateIncomplete ()
 Clear the event state. More...
 
void * getCommand ()
 Returns command that is associated with the event. More...
 
void setCommand (void *Command)
 Associates this event with the command. More...
 
HostProfilingInfogetHostProfilingInfo ()
 Returns host profiling information. More...
 
ur_native_handle_t getNative ()
 Gets the native handle of the SYCL event. More...
 
std::vector< std::shared_ptr< event_impl > > & getPreparedDepsEvents ()
 Returns vector of event dependencies. More...
 
std::vector< std::shared_ptr< event_impl > > & getPreparedHostDepsEvents ()
 Returns vector of host event dependencies. More...
 
std::vector< EventImplPtrgetWaitList ()
 Returns vector of event_impl that this event_impl depends on. More...
 
void flushIfNeeded (const QueueImplPtr &UserQueue)
 Performs a flush on the queue associated with this event if the user queue is different and the task associated with this event hasn't been submitted to the device yet. More...
 
void cleanupDependencyEvents ()
 Cleans dependencies of this event_impl. More...
 
void cleanDepEventsThroughOneLevel ()
 Cleans dependencies of this event's dependencies. More...
 
bool isDiscarded () const
 Checks if this event is discarded by SYCL implementation. More...
 
QueueImplPtr getWorkerQueue ()
 Returns worker queue for command. More...
 
void setWorkerQueue (const QueueImplPtr &WorkerQueue)
 Sets worker queue for command. More...
 
void setSubmittedQueue (const QueueImplPtr &SubmittedQueue)
 Sets original queue used for submission. More...
 
bool isNOP ()
 Indicates if this event is not associated with any command and doesn't have native handle. More...
 
void setSubmissionTime ()
 Calling this function queries the current device timestamp and sets it as submission time for the command associated with this event. More...
 
void setHostEnqueueTime ()
 Calling this function to capture the host timestamp to use profiling base time. More...
 
uint64_t getSubmissionTime ()
 
QueueImplPtr getSubmittedQueue () const
 
bool isCompleted ()
 Checks if this event is complete. More...
 
bool isEnqueued () const noexcept
 Checks if associated command is enqueued. More...
 
void attachEventToComplete (const EventImplPtr &Event)
 
bool isDefaultConstructed () const noexcept
 
ContextImplPtr getContextImplPtr ()
 
void setSyncPoint (ur_exp_command_buffer_sync_point_t SyncPoint)
 
ur_exp_command_buffer_sync_point_t getSyncPoint () const
 
void setCommandGraph (std::shared_ptr< ext::oneapi::experimental::detail::graph_impl > Graph)
 
std::shared_ptr< ext::oneapi::experimental::detail::graph_implgetCommandGraph () const
 
void setEventFromSubmittedExecCommandBuffer (bool value)
 
bool isEventFromSubmittedExecCommandBuffer () const
 
void setProfilingEnabled (bool Value)
 
void setCommandBufferCommand (ur_exp_command_buffer_command_handle_t Command)
 
ur_exp_command_buffer_command_handle_t getCommandBufferCommand () const
 
const std::vector< EventImplPtr > & getPostCompleteEvents () const
 
void setEnqueued ()
 
bool isHost ()
 
void markAsProfilingTagEvent ()
 
bool isProfilingTagEvent () const noexcept
 

Protected Member Functions

void * instrumentationProlog (std::string &Name, int32_t StreamID, uint64_t &instance_id) const
 
void instrumentationEpilog (void *TelementryEvent, const std::string &Name, int32_t StreamID, uint64_t IId) const
 
void checkProfilingPreconditions () const
 
void initContextIfNeeded ()
 

Protected Attributes

ur_event_handle_t MEvent = nullptr
 
uint64_t MSubmitTime = 0
 
uint64_t MHostBaseTime = 0
 
ContextImplPtr MContext
 
std::unique_ptr< HostProfilingInfoMHostProfilingInfo
 
void * MCommand = nullptr
 
std::weak_ptr< queue_implMQueue
 
bool MIsProfilingEnabled = false
 
bool MFallbackProfiling = false
 
std::weak_ptr< queue_implMWorkerQueue
 
std::weak_ptr< queue_implMSubmittedQueue
 
std::vector< EventImplPtrMPreparedDepsEvents
 Dependency events prepared for waiting by backend. More...
 
std::vector< EventImplPtrMPreparedHostDepsEvents
 
std::vector< EventImplPtrMPostCompleteEvents
 
std::atomic< bool > MIsFlushed = false
 Indicates that the task associated with this event has been submitted by the queue to the device. More...
 
std::atomic< int > MState
 
std::mutex MMutex
 
std::condition_variable cv
 
std::weak_ptr< ext::oneapi::experimental::detail::graph_implMGraph
 Store the command graph associated with this event, if any. More...
 
bool MEventFromSubmittedExecCommandBuffer = false
 Indicates that the event results from a command graph submission. More...
 
ur_exp_command_buffer_sync_point_t MSyncPoint
 
ur_exp_command_buffer_command_handle_t MCommandBufferCommand = nullptr
 
bool MProfilingTagEvent = false
 
std::atomic_bool MIsEnqueued {false}
 
bool MIsDefaultConstructed = false
 
bool MIsHostEvent = false
 

Detailed Description

Definition at line 38 of file event_impl.hpp.

Member Enumeration Documentation

◆ HostEventState

Enumerator
HES_NotComplete 
HES_Complete 
HES_Discarded 

Definition at line 40 of file event_impl.hpp.

Constructor & Destructor Documentation

◆ event_impl() [1/3]

sycl::_V1::detail::event_impl::event_impl ( std::optional< HostEventState State = HES_Complete)
inline

Constructs a ready SYCL event.

If the constructed SYCL event is waited on it will complete immediately. Normally constructs a host event, use std::nullopt to instead instantiate a device event.

Definition at line 51 of file event_impl.hpp.

References sycl::_V1::detail::SYCLConfig< Config >::get().

◆ event_impl() [2/3]

sycl::_V1::detail::event_impl::event_impl ( ur_event_handle_t  Event,
const context SyclContext 
)

Constructs an event instance from a plug-in event handle.

The SyclContext must match the plug-in context associated with the ClEvent.

Parameters
Eventis a valid instance of plug-in event.
SyclContextis an instance of SYCL context.

Definition at line 134 of file event_impl.cpp.

References sycl::_V1::detail::codeToString(), getPlugin(), MContext, and MEvent.

◆ event_impl() [3/3]

sycl::_V1::detail::event_impl::event_impl ( const QueueImplPtr Queue)

◆ ~event_impl()

sycl::_V1::detail::event_impl::~event_impl ( )

Definition at line 45 of file event_impl.cpp.

References __SYCL_REPORT_EXCEPTION_TO_STREAM, getPlugin(), and MEvent.

Member Function Documentation

◆ attachEventToComplete()

void sycl::_V1::detail::event_impl::attachEventToComplete ( const EventImplPtr Event)
inline

Definition at line 268 of file event_impl.hpp.

References MMutex, and MPostCompleteEvents.

◆ checkProfilingPreconditions()

void sycl::_V1::detail::event_impl::checkProfilingPreconditions ( ) const
protected

◆ cleanDepEventsThroughOneLevel()

void sycl::_V1::detail::event_impl::cleanDepEventsThroughOneLevel ( )

Cleans dependencies of this event's dependencies.

Definition at line 527 of file event_impl.cpp.

References MMutex, MPreparedDepsEvents, and MPreparedHostDepsEvents.

◆ cleanupDependencyEvents()

void sycl::_V1::detail::event_impl::cleanupDependencyEvents ( )

Cleans dependencies of this event_impl.

Definition at line 521 of file event_impl.cpp.

References MMutex, MPreparedDepsEvents, and MPreparedHostDepsEvents.

◆ flushIfNeeded()

void sycl::_V1::detail::event_impl::flushIfNeeded ( const QueueImplPtr UserQueue)

Performs a flush on the queue associated with this event if the user queue is different and the task associated with this event hasn't been submitted to the device yet.

Definition at line 494 of file event_impl.cpp.

References getPlugin(), MEvent, MIsFlushed, and MQueue.

◆ get_backend_info()

template<typename Param >
Param::return_type sycl::_V1::detail::event_impl::get_backend_info ( ) const

Queries this SYCL event for SYCL backend-specific information.

Returns
depends on information being queried.

◆ get_info()

template<typename Param >
Param::return_type sycl::_V1::detail::event_impl::get_info ( )

Queries this SYCL event for information.

Returns
depends on the information being requested.

◆ get_profiling_info()

template<typename Param >
Param::return_type sycl::_V1::detail::event_impl::get_profiling_info ( )

Queries this event for profiling information.

If the requested info is not available when this member function is called due to incompletion of command groups associated with the event, then the call to this member function will block until the requested info is available. If the queue which submitted the command group this event is associated with was not constructed with the property::queue::enable_profiling property, a SYCL exception with errc::invalid error code is thrown.

Returns
depends on template parameter.

◆ getCommand()

void* sycl::_V1::detail::event_impl::getCommand ( )
inline

Returns command that is associated with the event.

Scheduler mutex must be locked in read mode when this is called.

Returns
a generic pointer to Command object instance.

Definition at line 165 of file event_impl.hpp.

References MCommand.

◆ getCommandBufferCommand()

ur_exp_command_buffer_command_handle_t sycl::_V1::detail::event_impl::getCommandBufferCommand ( ) const
inline

Definition at line 316 of file event_impl.hpp.

References MCommandBufferCommand.

◆ getCommandGraph()

std::shared_ptr<ext::oneapi::experimental::detail::graph_impl> sycl::_V1::detail::event_impl::getCommandGraph ( ) const
inline

Definition at line 296 of file event_impl.hpp.

References MGraph.

◆ getContextImpl()

const ContextImplPtr & sycl::_V1::detail::event_impl::getContextImpl ( )

Returns context that is associated with this event.

Returns
a shared pointer to a valid context_impl.

Definition at line 117 of file event_impl.cpp.

References initContextIfNeeded(), and MContext.

◆ getContextImplPtr()

ContextImplPtr sycl::_V1::detail::event_impl::getContextImplPtr ( )
inline

Definition at line 275 of file event_impl.hpp.

References initContextIfNeeded(), MContext, and MIsDefaultConstructed.

◆ getHandleRef() [1/2]

ur_event_handle_t & sycl::_V1::detail::event_impl::getHandleRef ( )

Returns raw interoperability event handle.

Returned reference will be invalid if event_impl was destroyed.

Returns
a reference to an instance of plug-in event handle.

Definition at line 115 of file event_impl.cpp.

References MEvent.

Referenced by getNative(), and isNOP().

◆ getHandleRef() [2/2]

const ur_event_handle_t & sycl::_V1::detail::event_impl::getHandleRef ( ) const

Returns raw interoperability event handle.

Returned reference will be invalid if event_impl was destroyed.

Returns
a const reference to an instance of plug-in event handle.

Definition at line 114 of file event_impl.cpp.

References MEvent.

◆ getHostProfilingInfo()

HostProfilingInfo* sycl::_V1::detail::event_impl::getHostProfilingInfo ( )
inline

Returns host profiling information.

Returns
a pointer to HostProfilingInfo instance.

Definition at line 177 of file event_impl.hpp.

References MHostProfilingInfo.

◆ getNative()

ur_native_handle_t sycl::_V1::detail::event_impl::getNative ( )

Gets the native handle of the SYCL event.

Returns
a native handle.

Definition at line 457 of file event_impl.cpp.

References getHandleRef(), getPlugin(), initContextIfNeeded(), isHost(), MContext, MEvent, MIsDefaultConstructed, and sycl::_V1::opencl.

◆ getPlugin()

const PluginPtr & sycl::_V1::detail::event_impl::getPlugin ( )
Returns
the Plugin associated with the context of this event. Should be called when this is not a Host Event.

Definition at line 122 of file event_impl.cpp.

References initContextIfNeeded(), and MContext.

Referenced by event_impl(), flushIfNeeded(), getNative(), waitInternal(), and ~event_impl().

◆ getPostCompleteEvents()

const std::vector<EventImplPtr>& sycl::_V1::detail::event_impl::getPostCompleteEvents ( ) const
inline

Definition at line 320 of file event_impl.hpp.

References MPostCompleteEvents.

◆ getPreparedDepsEvents()

std::vector<std::shared_ptr<event_impl> >& sycl::_V1::detail::event_impl::getPreparedDepsEvents ( )
inline

Returns vector of event dependencies.

Returns
a reference to MPreparedDepsEvents.

Definition at line 187 of file event_impl.hpp.

References MPreparedDepsEvents.

◆ getPreparedHostDepsEvents()

std::vector<std::shared_ptr<event_impl> >& sycl::_V1::detail::event_impl::getPreparedHostDepsEvents ( )
inline

Returns vector of host event dependencies.

Returns
a reference to MPreparedHostDepsEvents.

Definition at line 194 of file event_impl.hpp.

References MPreparedHostDepsEvents.

◆ getSubmissionTime()

uint64_t sycl::_V1::detail::event_impl::getSubmissionTime ( )
Returns
Submission time for command associated with this event

Definition at line 574 of file event_impl.cpp.

References MSubmitTime.

◆ getSubmittedQueue()

QueueImplPtr sycl::_V1::detail::event_impl::getSubmittedQueue ( ) const
inline

Definition at line 256 of file event_impl.hpp.

References MSubmittedQueue.

◆ getSyncPoint()

ur_exp_command_buffer_sync_point_t sycl::_V1::detail::event_impl::getSyncPoint ( ) const
inline

Definition at line 288 of file event_impl.hpp.

References MSyncPoint.

◆ getWaitList()

std::vector< EventImplPtr > sycl::_V1::detail::event_impl::getWaitList ( )

Returns vector of event_impl that this event_impl depends on.

Returns
a vector of "immediate" dependencies for this event_impl.

Definition at line 476 of file event_impl.cpp.

References HES_Discarded, sycl::_V1::invalid, sycl::_V1::make_error_code(), MMutex, MPreparedDepsEvents, MPreparedHostDepsEvents, and MState.

◆ getWorkerQueue()

QueueImplPtr sycl::_V1::detail::event_impl::getWorkerQueue ( )
inline

Returns worker queue for command.

Returns
shared_ptr to MWorkerQueue, please be aware it can be empty pointer

Definition at line 223 of file event_impl.hpp.

References MWorkerQueue.

◆ initContextIfNeeded()

void sycl::_V1::detail::event_impl::initContextIfNeeded ( )
protected

◆ instrumentationEpilog()

void sycl::_V1::detail::event_impl::instrumentationEpilog ( void *  TelementryEvent,
const std::string &  Name,
int32_t  StreamID,
uint64_t  IId 
) const
protected

Definition at line 205 of file event_impl.cpp.

Referenced by wait().

◆ instrumentationProlog()

void * sycl::_V1::detail::event_impl::instrumentationProlog ( std::string &  Name,
int32_t  StreamID,
uint64_t &  instance_id 
) const
protected

Definition at line 169 of file event_impl.cpp.

References MCommand, MEvent, and sycl::_V1::detail::Command::MTraceEvent.

Referenced by wait().

◆ isCompleted()

bool sycl::_V1::detail::event_impl::isCompleted ( )

Checks if this event is complete.

Returns
true if this event is complete.

Definition at line 576 of file event_impl.cpp.

References sycl::_V1::info::complete.

◆ isDefaultConstructed()

bool sycl::_V1::detail::event_impl::isDefaultConstructed ( ) const
inlinenoexcept

Definition at line 273 of file event_impl.hpp.

References MIsDefaultConstructed.

◆ isDiscarded()

bool sycl::_V1::detail::event_impl::isDiscarded ( ) const
inline

Checks if this event is discarded by SYCL implementation.

Returns
true if this event is discarded.

Definition at line 217 of file event_impl.hpp.

References HES_Discarded, and MState.

◆ isEnqueued()

bool sycl::_V1::detail::event_impl::isEnqueued ( ) const
inlinenoexcept

Checks if associated command is enqueued.

Returns
true if command passed enqueue

Definition at line 266 of file event_impl.hpp.

References MIsEnqueued.

◆ isEventFromSubmittedExecCommandBuffer()

bool sycl::_V1::detail::event_impl::isEventFromSubmittedExecCommandBuffer ( ) const
inline

Definition at line 304 of file event_impl.hpp.

References MEventFromSubmittedExecCommandBuffer.

◆ isHost()

bool sycl::_V1::detail::event_impl::isHost ( )
inline

Definition at line 326 of file event_impl.hpp.

References MIsHostEvent.

Referenced by getNative().

◆ isNOP()

bool sycl::_V1::detail::event_impl::isNOP ( )
inline

Indicates if this event is not associated with any command and doesn't have native handle.

Returns
true if no associated command and no event handle.

Definition at line 243 of file event_impl.hpp.

References getHandleRef(), and MCommand.

◆ isProfilingTagEvent()

bool sycl::_V1::detail::event_impl::isProfilingTagEvent ( ) const
inlinenoexcept

Definition at line 330 of file event_impl.hpp.

References MProfilingTagEvent.

◆ markAsProfilingTagEvent()

void sycl::_V1::detail::event_impl::markAsProfilingTagEvent ( )
inline

Definition at line 328 of file event_impl.hpp.

References MProfilingTagEvent.

◆ setCommand()

void sycl::_V1::detail::event_impl::setCommand ( void *  Command)

Associates this event with the command.

Scheduler mutex must be locked in write mode when this is called.

Parameters
Commandis a generic pointer to Command object instance.

Definition at line 581 of file event_impl.cpp.

References MCommand, and MIsHostEvent.

◆ setCommandBufferCommand()

void sycl::_V1::detail::event_impl::setCommandBufferCommand ( ur_exp_command_buffer_command_handle_t  Command)
inline

Definition at line 312 of file event_impl.hpp.

References MCommandBufferCommand.

◆ setCommandGraph()

void sycl::_V1::detail::event_impl::setCommandGraph ( std::shared_ptr< ext::oneapi::experimental::detail::graph_impl Graph)
inline

Definition at line 290 of file event_impl.hpp.

References MGraph.

◆ setComplete()

void sycl::_V1::detail::event_impl::setComplete ( )

Marks this event as completed.

Definition at line 86 of file event_impl.cpp.

References cv, HES_Complete, HES_NotComplete, MEvent, MIsHostEvent, MMutex, and MState.

◆ setContextImpl()

void sycl::_V1::detail::event_impl::setContextImpl ( const ContextImplPtr Context)

Associate event with the context.

Provided UrContext inside ContextImplPtr must be associated with the UrEvent object stored in this class

Parameters
Contextis a shared pointer to an instance of valid context_impl.

Definition at line 129 of file event_impl.cpp.

References MContext, and MIsHostEvent.

Referenced by event_impl(), and initContextIfNeeded().

◆ setEnqueued()

void sycl::_V1::detail::event_impl::setEnqueued ( )
inline

Definition at line 324 of file event_impl.hpp.

References MIsEnqueued.

◆ setEventFromSubmittedExecCommandBuffer()

void sycl::_V1::detail::event_impl::setEventFromSubmittedExecCommandBuffer ( bool  value)
inline

Definition at line 300 of file event_impl.hpp.

References MEventFromSubmittedExecCommandBuffer.

◆ setHostEnqueueTime()

void sycl::_V1::detail::event_impl::setHostEnqueueTime ( )

Calling this function to capture the host timestamp to use profiling base time.

See MFallbackProfiling

Definition at line 566 of file event_impl.cpp.

References sycl::_V1::detail::getTimestamp(), MFallbackProfiling, MHostBaseTime, and MIsProfilingEnabled.

◆ setProfilingEnabled()

void sycl::_V1::detail::event_impl::setProfilingEnabled ( bool  Value)
inline

Definition at line 308 of file event_impl.hpp.

References MIsProfilingEnabled.

◆ setStateIncomplete()

void sycl::_V1::detail::event_impl::setStateIncomplete ( )

Clear the event state.

Definition at line 127 of file event_impl.cpp.

References HES_NotComplete, and MState.

◆ setSubmissionTime()

void sycl::_V1::detail::event_impl::setSubmissionTime ( )

Calling this function queries the current device timestamp and sets it as submission time for the command associated with this event.

Definition at line 537 of file event_impl.cpp.

References sycl::_V1::exception::code(), sycl::_V1::detail::getTimestamp(), sycl::_V1::make_error_code(), MFallbackProfiling, MIsProfilingEnabled, MProfilingTagEvent, MQueue, MSubmitTime, sycl::_V1::profiling, and sycl::_V1::exception::what().

◆ setSubmittedQueue()

void sycl::_V1::detail::event_impl::setSubmittedQueue ( const QueueImplPtr SubmittedQueue)
inline

Sets original queue used for submission.

Returns

Definition at line 235 of file event_impl.hpp.

References MSubmittedQueue.

◆ setSyncPoint()

void sycl::_V1::detail::event_impl::setSyncPoint ( ur_exp_command_buffer_sync_point_t  SyncPoint)
inline

Definition at line 283 of file event_impl.hpp.

References MSyncPoint.

◆ setWorkerQueue()

void sycl::_V1::detail::event_impl::setWorkerQueue ( const QueueImplPtr WorkerQueue)
inline

Sets worker queue for command.

Returns

Definition at line 228 of file event_impl.hpp.

References MWorkerQueue.

◆ wait()

void sycl::_V1::detail::event_impl::wait ( std::shared_ptr< sycl::detail::event_impl >  Self,
bool *  Success = nullptr 
)

Waits for the event.

Self is needed in order to pass shared_ptr to Scheduler.

Parameters
Selfis a pointer to this event.
Successis an optional parameter that, when set to a non-null pointer, indicates that failure is a valid outcome for this wait (e.g., in case of a non-blocking read from a pipe), and the value it's pointing to is then set according to the outcome.

Definition at line 221 of file event_impl.cpp.

References sycl::_V1::detail::Scheduler::getInstance(), HES_Discarded, instrumentationEpilog(), instrumentationProlog(), sycl::_V1::invalid, sycl::_V1::make_error_code(), MCommand, MEvent, MGraph, MState, sycl::_V1::detail::SYCL_STREAM_NAME, sycl::_V1::detail::Scheduler::waitForEvent(), and waitInternal().

Referenced by wait_and_throw().

◆ wait_and_throw()

void sycl::_V1::detail::event_impl::wait_and_throw ( std::shared_ptr< sycl::detail::event_impl >  Self)

Waits for the event.

If any uncaught asynchronous errors occurred on the context that the event is waiting on executions from, then call that context's asynchronous error handler with those errors. Self is needed in order to pass shared_ptr to Scheduler.

Parameters
Selfis a pointer to this event.

Definition at line 253 of file event_impl.cpp.

References MSubmittedQueue, and wait().

◆ waitInternal()

void sycl::_V1::detail::event_impl::waitInternal ( bool *  Success = nullptr)

Waits for the event with respect to device type.

Parameters
Successis an optional parameter that, when set to a non-null pointer, indicates that failure is a valid outcome for this wait (e.g., in case of a non-blocking read from a pipe), and the value it's pointing to is then set according to the outcome.

Definition at line 54 of file event_impl.cpp.

References cv, getPlugin(), HES_Complete, HES_Discarded, sycl::_V1::invalid, sycl::_V1::make_error_code(), MEvent, MIsHostEvent, MMutex, MPostCompleteEvents, and MState.

Referenced by wait().

Member Data Documentation

◆ cv

std::condition_variable sycl::_V1::detail::event_impl::cv
protected

Definition at line 372 of file event_impl.hpp.

Referenced by setComplete(), and waitInternal().

◆ MCommand

void* sycl::_V1::detail::event_impl::MCommand = nullptr
protected

Definition at line 348 of file event_impl.hpp.

Referenced by getCommand(), instrumentationProlog(), isNOP(), setCommand(), and wait().

◆ MCommandBufferCommand

ur_exp_command_buffer_command_handle_t sycl::_V1::detail::event_impl::MCommandBufferCommand = nullptr
protected

Definition at line 388 of file event_impl.hpp.

Referenced by getCommandBufferCommand(), and setCommandBufferCommand().

◆ MContext

ContextImplPtr sycl::_V1::detail::event_impl::MContext
protected

◆ MEvent

ur_event_handle_t sycl::_V1::detail::event_impl::MEvent = nullptr
protected

◆ MEventFromSubmittedExecCommandBuffer

bool sycl::_V1::detail::event_impl::MEventFromSubmittedExecCommandBuffer = false
protected

Indicates that the event results from a command graph submission.

Definition at line 378 of file event_impl.hpp.

Referenced by isEventFromSubmittedExecCommandBuffer(), and setEventFromSubmittedExecCommandBuffer().

◆ MFallbackProfiling

bool sycl::_V1::detail::event_impl::MFallbackProfiling = false
protected

Definition at line 351 of file event_impl.hpp.

Referenced by setHostEnqueueTime(), and setSubmissionTime().

◆ MGraph

std::weak_ptr<ext::oneapi::experimental::detail::graph_impl> sycl::_V1::detail::event_impl::MGraph
protected

Store the command graph associated with this event, if any.

This event is also be stored in the graph so a weak_ptr is used.

Definition at line 376 of file event_impl.hpp.

Referenced by getCommandGraph(), setCommandGraph(), and wait().

◆ MHostBaseTime

uint64_t sycl::_V1::detail::event_impl::MHostBaseTime = 0
protected

Definition at line 345 of file event_impl.hpp.

Referenced by setHostEnqueueTime().

◆ MHostProfilingInfo

std::unique_ptr<HostProfilingInfo> sycl::_V1::detail::event_impl::MHostProfilingInfo
protected

Definition at line 347 of file event_impl.hpp.

Referenced by event_impl(), and getHostProfilingInfo().

◆ MIsDefaultConstructed

bool sycl::_V1::detail::event_impl::MIsDefaultConstructed = false
protected

◆ MIsEnqueued

std::atomic_bool sycl::_V1::detail::event_impl::MIsEnqueued {false}
protected

Definition at line 394 of file event_impl.hpp.

Referenced by isEnqueued(), and setEnqueued().

◆ MIsFlushed

std::atomic<bool> sycl::_V1::detail::event_impl::MIsFlushed = false
protected

Indicates that the task associated with this event has been submitted by the queue to the device.

Definition at line 364 of file event_impl.hpp.

Referenced by flushIfNeeded().

◆ MIsHostEvent

bool sycl::_V1::detail::event_impl::MIsHostEvent = false
protected

◆ MIsProfilingEnabled

bool sycl::_V1::detail::event_impl::MIsProfilingEnabled = false
protected

◆ MMutex

std::mutex sycl::_V1::detail::event_impl::MMutex
protected

◆ MPostCompleteEvents

std::vector<EventImplPtr> sycl::_V1::detail::event_impl::MPostCompleteEvents
protected

Definition at line 360 of file event_impl.hpp.

Referenced by attachEventToComplete(), getPostCompleteEvents(), and waitInternal().

◆ MPreparedDepsEvents

std::vector<EventImplPtr> sycl::_V1::detail::event_impl::MPreparedDepsEvents
protected

Dependency events prepared for waiting by backend.

Definition at line 357 of file event_impl.hpp.

Referenced by cleanDepEventsThroughOneLevel(), cleanupDependencyEvents(), getPreparedDepsEvents(), and getWaitList().

◆ MPreparedHostDepsEvents

std::vector<EventImplPtr> sycl::_V1::detail::event_impl::MPreparedHostDepsEvents
protected

◆ MProfilingTagEvent

bool sycl::_V1::detail::event_impl::MProfilingTagEvent = false
protected

◆ MQueue

std::weak_ptr<queue_impl> sycl::_V1::detail::event_impl::MQueue
protected

Definition at line 349 of file event_impl.hpp.

Referenced by checkProfilingPreconditions(), flushIfNeeded(), and setSubmissionTime().

◆ MState

std::atomic<int> sycl::_V1::detail::event_impl::MState
protected

◆ MSubmittedQueue

std::weak_ptr<queue_impl> sycl::_V1::detail::event_impl::MSubmittedQueue
protected

Definition at line 354 of file event_impl.hpp.

Referenced by getSubmittedQueue(), setSubmittedQueue(), and wait_and_throw().

◆ MSubmitTime

uint64_t sycl::_V1::detail::event_impl::MSubmitTime = 0
protected

Definition at line 344 of file event_impl.hpp.

Referenced by getSubmissionTime(), and setSubmissionTime().

◆ MSyncPoint

ur_exp_command_buffer_sync_point_t sycl::_V1::detail::event_impl::MSyncPoint
protected

Definition at line 383 of file event_impl.hpp.

Referenced by getSyncPoint(), and setSyncPoint().

◆ MWorkerQueue

std::weak_ptr<queue_impl> sycl::_V1::detail::event_impl::MWorkerQueue
protected

Definition at line 353 of file event_impl.hpp.

Referenced by getWorkerQueue(), and setWorkerQueue().


The documentation for this class was generated from the following files: