kokkos-utils 0.0.1
 
Loading...
Searching...
No Matches
Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType > Struct Template Reference

Timer listener that is well-suited for timing the execution of a parallel workload enqueued on a particular execution space instance. More...

#include <BeginEndTimerListener.hpp>

Inheritance diagram for Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType >:
Kokkos::utils::callbacks::TimerListener< BeginEndMatcherType, TimerType >

Public Types

using queue_matcher_t = EventQueueMatcher<Exec>
 
using matcher_t = EventBeginEndIdMatcher<BeginEventType, ConjunctionMatcher<queue_matcher_t, MatcherType>>
 
using timer_t = TimerType
 
using base_t = TimerListener<matcher_t, timer_t>
 

Public Member Functions

template<typename T>
 BeginEndTimerListener (T &&matcher, const Exec &exec)
 
- Public Member Functions inherited from Kokkos::utils::callbacks::TimerListener< BeginEndMatcherType, TimerType >
template<Event EventType>
requires MatcherFor<BeginEndMatcherType, EventType>
void operator() (const EventType &event)
 
bool connected () const
 When the listener has matched the begin, but not yet the end event, it is said to be "connected".
 
bool closed () const
 When the listener has matched both the begin and end events, it is said to be "closed".
 
void reset ()
 Reset the listener so that it can be reused to match a begin event again.
 

Additional Inherited Members

- Public Attributes inherited from Kokkos::utils::callbacks::TimerListener< BeginEndMatcherType, TimerType >
BeginEndMatcherType matcher {}
 
TimerType timer {}
 
bool matched_begin = false
 
bool matched_end = false
 

Detailed Description

template<Matcher MatcherType, Event BeginEventType, Kokkos::utils::concepts::ExecutionSpace Exec, typename TimerType = EnqueuedEventTimer<Exec>>
requires MatcherFor<MatcherType, BeginEventType>
struct Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType >

Timer listener that is well-suited for timing the execution of a parallel workload enqueued on a particular execution space instance.

This specialization is particularly well-suited for timing a Kokkos parallel for, parallel reduce, parallel scan, or deep copy operation. In such a situation, the execution space instance passed to this class's constructor should be the same as the one passed to the workload.

Definition at line 24 of file BeginEndTimerListener.hpp.

Member Typedef Documentation

◆ base_t

template<Matcher MatcherType, Event BeginEventType, Kokkos::utils::concepts::ExecutionSpace Exec, typename TimerType = EnqueuedEventTimer<Exec>>
using Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType >::base_t = TimerListener<matcher_t, timer_t>

Definition at line 29 of file BeginEndTimerListener.hpp.

◆ matcher_t

template<Matcher MatcherType, Event BeginEventType, Kokkos::utils::concepts::ExecutionSpace Exec, typename TimerType = EnqueuedEventTimer<Exec>>
using Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType >::matcher_t = EventBeginEndIdMatcher<BeginEventType, ConjunctionMatcher<queue_matcher_t, MatcherType>>

Definition at line 27 of file BeginEndTimerListener.hpp.

◆ queue_matcher_t

template<Matcher MatcherType, Event BeginEventType, Kokkos::utils::concepts::ExecutionSpace Exec, typename TimerType = EnqueuedEventTimer<Exec>>
using Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType >::queue_matcher_t = EventQueueMatcher<Exec>

Definition at line 26 of file BeginEndTimerListener.hpp.

◆ timer_t

template<Matcher MatcherType, Event BeginEventType, Kokkos::utils::concepts::ExecutionSpace Exec, typename TimerType = EnqueuedEventTimer<Exec>>
using Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType >::timer_t = TimerType

Definition at line 28 of file BeginEndTimerListener.hpp.

Constructor & Destructor Documentation

◆ BeginEndTimerListener()

template<Matcher MatcherType, Event BeginEventType, Kokkos::utils::concepts::ExecutionSpace Exec, typename TimerType = EnqueuedEventTimer<Exec>>
template<typename T>
Kokkos::utils::callbacks::BeginEndTimerListener< MatcherType, BeginEventType, Exec, TimerType >::BeginEndTimerListener ( T && matcher,
const Exec & exec )
inline

Definition at line 32 of file BeginEndTimerListener.hpp.


The documentation for this struct was generated from the following file: