cuda::experimental::stf::event_list#

class event_list#

List of events.

Many CUDASTF routines take event lists as asynchronous prerequisites, and return a list of prerequisites.

Public Functions

event_list() = default#
event_list(const event_list&) = default#
event_list(event_list&&) = default#
event_list &operator=(const event_list&) = default#
event_list &operator=(event_list&&) = default#
inline event_list(event e)#

Create a list from a single event.

inline event_list(event_vector &payload_)#
inline void add(event e)#

Add an event to an existing list.

inline void optimize(backend_ctx_untyped &bctx)#

Optimize the list to remove redundant entries which are either identical events, or events which are implicit from other events in the list.

inline void sync_with_stream(
backend_ctx_untyped &bctx,
cudaStream_t stream,
)#
inline void dot_declare_prereqs(
reserved::per_ctx_dot &dot,
int id_to,
reserved::edge_type style = reserved::edge_type::plain,
)#
inline void dot_declare_prereqs_from(
reserved::per_ctx_dot &dot,
int id_from,
reserved::edge_type style = reserved::edge_type::plain,
) const#
template<typename ...Ts>
inline void merge(Ts&&... events)#

Concatenate the content of a list into another list.

This does not depend on the actual event type

template<typename T>
inline event_list &operator+=(T &&rhs)#
inline void clear()#

Empty a list.

inline size_t size() const#

Get the number of events in the list.

inline ::std::string to_string() const#
inline auto begin()#
inline auto end()#
inline auto begin() const#
inline auto end() const#
inline int max_prereq_id() const#