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