cuda::experimental::event_ref
Defined in include/cuda/experimental/__event/event_ref.cuh
-
class event_ref
An non-owning wrapper for an untimed
cudaEvent_t
.Subclassed by cuda::experimental::event
Public Types
-
using value_type = ::cudaEvent_t
Public Functions
-
inline constexpr event_ref(::cudaEvent_t __evnt) noexcept
Construct a new
event_ref
object from acudaEvent_t
This constructor provides an implicit conversion from
cudaEvent_t
Note
: It is the callers responsibilty to ensure the
event_ref
does not outlive the event denoted by thecudaEvent_t
handle.- Post
get() == __evnt
-
event_ref(int) = delete
Disallow construction from an
int
, e.g.,0
.
-
inline void record(stream_ref __stream) const
Records an event on the specified stream.
- Parameters
__stream –
- Throws
cuda_error – if the event record fails
-
inline void wait() const
Waits until all the work in the stream prior to the record of the event has completed.
- Throws
cuda_error – if waiting for the event fails
-
inline bool is_done() const
Checks if all the work in the stream prior to the record of the event has completed.
If is_done returns true, calling wait() on this event will return immediately
- Throws
cuda_error – if the event query fails
-
inline constexpr ::cudaEvent_t get() const noexcept
Retrieve the native
cudaEvent_t
handle.- Returns
cudaEvent_t The native handle being held by the event_ref object.
-
inline explicit constexpr operator bool() const noexcept
Checks if the
event_ref
is valid.- Returns
true if the
event_ref
is valid, false otherwise.
-
inline constexpr bool operator==(event_ref __lhs, event_ref __rhs) noexcept
Compares two
event_ref
s for equality.Note
Allows comparison with
cudaEvent_t
due to implicit conversion toevent_ref
.
-
using value_type = ::cudaEvent_t