cuda::experimental::stf::event_list

Defined in include/cuda/experimental/__stf/internal/async_prereq.cuh

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()

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, int array_style = 0)
inline void dot_declare_prereqs_from(reserved::per_ctx_dot &dot, int id_from, int array_style = 0) 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