cuda::experimental::stf::event_impl#
-
class event_impl#
This is the base event type.
It defines an abstract object which represents that an asynchronous event happened.
It is possible to insert a dependency between two events provided the dependency follows the chronological order of creation: an event E2 created after an event E1 cannot depend on E1.
Inserting a dependency between two events is supposed to be a non-blocking operation, but the actual event implementation is allowed to block temporarily.
Subclassed by cuda::experimental::stf::reserved::graph_event_impl, cuda::experimental::stf::stream_and_event
Public Functions
-
event_impl(const event_impl&) = delete#
Deleted copy constructor to prevent copying and ensure unique event identifiers.
-
event_impl &operator=(const event_impl&) = delete#
Deleted copy assignment operator to prevent copying and ensure unique event identifiers.
-
virtual ~event_impl() = default#
Virtual destructor to support polymorphic deletion.
-
event_impl() = default#
Default constructor.
-
inline bool operator==(const event_impl &e) const#
Compares this event with another event for equality based on their unique identifiers.
- Parameters:
e – The event to compare with.
- Returns:
True if the events have the same unique identifier, false otherwise.
-
inline bool operator<(const event_impl &e) const#
Compares this event with another event for ordering based on their unique identifiers.
- Parameters:
e – The event to compare with.
- Returns:
True if this event’s unique identifier is less than the other event’s identifier, false otherwise.
- inline void set_symbol_with_dot(
- reserved::per_ctx_dot &dot,
- ::std::string s,
Sets a symbolic name for the event, useful for debugging or tracing.
- Parameters:
s – The symbolic name to associate with this event.
-
template<typename context_t>
inline void set_symbol( - context_t &ctx,
- ::std::string s,
Sets a symbolic name for the event, useful for debugging or tracing.
- Parameters:
s – The symbolic name to associate with this event.
- inline virtual bool factorize(
- backend_ctx_untyped&,
- reserved::event_vector&,
Optionally simplifies the event vector to remove redundant entries.
Note
This function provides a hook for derived classes to implement optimization strategies.
- Parameters:
unused – A vector of events potentially containing redundant entries.
- Returns:
True if redundant entries were removed and further uniqueness processing is unnecessary, false otherwise.
- inline virtual void sync_with_stream(
- backend_ctx_untyped&,
- event_list&,
- cudaStream_t,
- inline virtual event_list from_stream(
- backend_ctx_untyped&,
- cudaStream_t,
-
inline const ::std::string &get_symbol() const#
Retrieves the symbolic name of the event.
- Returns:
The symbolic name of the event. Generates a default name if none was set.
-
event_impl(const event_impl&) = delete#