kokkos-utils 0.0.4
 
Loading...
Searching...
No Matches
Kokkos::utils::callbacks Namespace Reference

Namespaces

namespace  impl
 

Classes

struct  AllocateDataEvent
 Allocate-data event associated with Kokkos::Tools::Experimental::EventSet::allocate_data. More...
 
struct  AllocDescriptor
 Helper struct to hold descriptors of a data allocation. More...
 
struct  AnyEventMatcher
 Matcher that returns true for any event. More...
 
struct  BeginDeepCopyEvent
 Begin-deep-copy event associated with Kokkos::Tools::Experimental::EventSet::begin_deep_copy. More...
 
struct  BeginEndTimerListener
 Timer listener that is well-suited for timing the execution of a parallel workload enqueued on a particular execution space instance. More...
 
struct  BeginFenceEvent
 Begin-fence event associated with Kokkos::Tools::Experimental::EventSet::begin_fence. More...
 
struct  BeginParallelForEvent
 
struct  BeginParallelReduceEvent
 Begin-parallel-reduce event associated with Kokkos::Tools::Experimental::EventSet::begin_parallel_reduce. More...
 
struct  BeginParallelScanEvent
 Begin-parallel-scan event associated with Kokkos::Tools::Experimental::EventSet::begin_parallel_scan. More...
 
struct  ConjunctionMatcher
 Conjunction of matchers that is true only if all matchers agree. More...
 
struct  CreateProfileSectionEvent
 Create-profile-section event associated with Kokkos::Tools::Experimental::EventSet::create_profile_section. More...
 
struct  DeallocateDataEvent
 Deallocate-data event associated with Kokkos::Tools::Experimental::EventSet::deallocate_data. More...
 
struct  DestroyProfileSectionEvent
 Destroy-profile-section event associated with Kokkos::Tools::Experimental::EventSet::destroy_profile_section. More...
 
struct  EndDeepCopyEvent
 End-deep-copy event associated with Kokkos::Tools::Experimental::EventSet::end_deep_copy. More...
 
struct  EndFenceEvent
 End-fence event associated with Kokkos::Tools::Experimental::EventSet::end_fence. More...
 
struct  EndParallelForEvent
 End-parallel-for event associated with Kokkos::Tools::Experimental::EventSet::end_parallel_for. More...
 
struct  EndParallelReduceEvent
 End-parallel-reduce event associated with Kokkos::Tools::Experimental::EventSet::end_parallel_reduce. More...
 
struct  EndParallelScanEvent
 End-parallel-scan event associated with Kokkos::Tools::Experimental::EventSet::end_parallel_scan. More...
 
struct  EnqueuedEventTimer
 Timer for events that are enqueued on exec. More...
 
struct  EnqueuedEventWithLaunchTimer
 Timer for events that are enqueued on exec. This timer also measures the launch time. More...
 
struct  EventBeginEndIdMatcher
 Match a begin event and its corresponding end event based on their event_id. More...
 
struct  EventIdMatcher
 Match an event whose event_id is event_id. More...
 
struct  EventInProfileSectionMatcher
 Matcher to select events that occur within a profile section. More...
 
struct  EventNameMatcher
 Matcher to select events whose name matches name. More...
 
struct  EventQueueMatcher
 Match an event whose dev_id is the same as the one of exec. More...
 
struct  EventRegexMatcher
 Matcher to select events whose name matches a regular expression. More...
 
struct  EventRegionMatcher
 Matcher to select events that occur within a region. More...
 
struct  EventTraits
 Event traits. More...
 
struct  EventTypeMatcher
 Restrict the event types that can be matched by matcher to the subset EventTypes. More...
 
class  Manager
 Class to manage Kokkos profiling callback calls. More...
 
struct  PairedEventType
 
struct  PairedEventType< AllocateDataEvent >
 
struct  PairedEventType< BeginDeepCopyEvent >
 
struct  PairedEventType< BeginFenceEvent >
 
struct  PairedEventType< BeginParallelForEvent >
 
struct  PairedEventType< BeginParallelReduceEvent >
 
struct  PairedEventType< BeginParallelScanEvent >
 
struct  PairedEventType< CreateProfileSectionEvent >
 
struct  PairedEventType< PushRegionEvent >
 
struct  PairedEventType< StartProfileSectionEvent >
 
struct  PartialMatcher
 
struct  PartialMatcher< AllocDescriptor >
 For an allocation, one typically wants to check the memory space, label and size of the allocation. More...
 
struct  PartialMatcher< BeginDeepCopyEvent >
 
struct  PopRegionEvent
 Pop-region event associated with Kokkos::Tools::Experimental::EventSet::pop_region. More...
 
struct  ProfileEvent
 Profile event associated with Kokkos::Tools::Experimental::EventSet::profile_event. More...
 
struct  PushRegionEvent
 Push-region event associated with Kokkos::Tools::Experimental::EventSet::push_region. More...
 
class  RecorderListener
 
class  RecorderListener< EventTypes... >
 
class  RecorderListener< Kokkos::Impl::type_list< EventTypes... > >
 
class  RecorderListener< MatcherType, EventTypes... >
 Listener for recording Kokkos profiling callback calls. More...
 
class  RecorderListener< MatcherType, Kokkos::Impl::type_list< EventTypes... > >
 
struct  RegionTimerListener
 Timer listener for a profiling region that matches MatcherType. More...
 
struct  SequenceOfRegionTimerListener
 Time a sequence of push/pop regions. More...
 
struct  StartProfileSectionEvent
 Start-profile-section event associated with Kokkos::Tools::Experimental::EventSet::start_profile_section. More...
 
struct  StopProfileSectionEvent
 Stop-profile-section event associated with Kokkos::Tools::Experimental::EventSet::stop_profile_section. More...
 
struct  TimerListener
 Listener that starts a timer when a begin event is received and stops it when a corresponding end event is received. More...
 

Concepts

concept  Event
 
concept  BeginEvent
 Concept to constrain any begin event type.
 
concept  EndEvent
 Concept to constrain any end event type.
 
concept  DataEvent
 Concept to constrain any data event type.
 
concept  ProfileSectionManipulationEvent
 Concept to constrain any profile section manipulation event type.
 
concept  NamedEvent
 Concept to constrain any event type that has a name field.
 
concept  IndexedEvent
 Concept to constrain any event type that has a member variable event_id.
 
concept  EnqueuedEvent
 Concept to constrain any event type that has a member variable dev_id.
 
concept  EventOneOf
 Concept to constrain any event type that is one of the given event types.
 
concept  Listener
 
concept  ListenerFor
 Check that Callable is a listener for each event in EventTypes.
 
concept  Matcher
 Callable is a matcher if it is invocable with at least one event type from Kokkos::utils::callbacks::EventTypeList passed by const reference and returns bool.
 
concept  MatcherFor
 Check that Callable is a matcher for each event in EventTypes.
 
concept  Startable
 
concept  StartableWithEvent
 
concept  Stoppable
 
concept  StoppableWithEvent
 

Typedefs

using EventTypeList
 Type list holding all event types.
 
template<typename Callable>
using listener_event_type_list_t = typename impl::ListenerEventTypeList<Callable>::type
 Type list holding the event types that Callable can be a listener for.
 
template<typename Callable>
using matcher_event_type_list_t = Kokkos::Impl::filter_type_list_t<impl::IsMatcherFor<Callable>::template type, EventTypeList>
 Type list holding the event types that Callable can be a matcher for.
 
Template aliases using @ref EnqueuedEventTimer.
template<MatcherFor< BeginParallelForEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using ParallelForTimerListener = BeginEndTimerListener<MatcherType, BeginParallelForEvent, Exec>
 
template<MatcherFor< BeginParallelReduceEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using ParallelReduceTimerListener = BeginEndTimerListener<MatcherType, BeginParallelReduceEvent, Exec>
 Timer listener for timing the execution of a parallel reduce that matches MatcherType.
 
template<MatcherFor< BeginParallelScanEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using ParallelScanTimerListener = BeginEndTimerListener<MatcherType, BeginParallelScanEvent, Exec>
 Timer listener for timing the execution of a parallel scan that matches MatcherType.
 
template<MatcherFor< BeginDeepCopyEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using DeepCopyTimerListener = BeginEndTimerListener<MatcherType, BeginDeepCopyEvent, Exec>
 Timer listener for timing the execution of a deep copy that matches MatcherType.
 
Template aliases using @ref EnqueuedEventWithLaunchTimer.
template<MatcherFor< BeginParallelForEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using ParallelForWithLaunchTimerListener = BeginEndTimerListener<MatcherType, BeginParallelForEvent, Exec, EnqueuedEventWithLaunchTimer<Exec>>
 
template<MatcherFor< BeginParallelReduceEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using ParallelWithLaunchReduceTimerListener = BeginEndTimerListener<MatcherType, BeginParallelReduceEvent, Exec, EnqueuedEventWithLaunchTimer<Exec>>
 Timer listener for timing the execution and the launch of a parallel reduce that matches MatcherType.
 
template<MatcherFor< BeginParallelScanEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using ParallelWithLaunchScanTimerListener = BeginEndTimerListener<MatcherType, BeginParallelScanEvent, Exec, EnqueuedEventWithLaunchTimer<Exec>>
 Timer listener for timing the execution and the launch of a parallel scan that matches MatcherType.
 
template<MatcherFor< BeginDeepCopyEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using DeepCopyWithLaunchTimerListener = BeginEndTimerListener<MatcherType, BeginDeepCopyEvent, Exec, EnqueuedEventWithLaunchTimer<Exec>>
 Timer listener for timing the execution and the launch of a deep copy that matches MatcherType.
 
Get the paired event.
template<Event EventType>
using paired_event_t = typename PairedEventType<EventType>::type
 

Functions

template<typename... MatcherTypes>
 ConjunctionMatcher (MatcherTypes &&...) -> ConjunctionMatcher< MatcherTypes... >
 
bool operator== (const Kokkos_Profiling_SpaceHandle &fst, const Kokkos_Profiling_SpaceHandle &snd)
 Equality comparison for Kokkos_Profiling_SpaceHandle.
 
template<typename... Matchers>
auto ABeginParallelForEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AEndParallelForEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto ABeginParallelReduceEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AEndParallelReduceEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto ABeginParallelScanEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AEndParallelScanEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto ABeginFenceEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AEndFenceEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AAllocateDataEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto ADeallocateDataEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto ABeginDeepCopyEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AEndDeepCopyEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto ACreateProfileSectionEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto ADestroyProfileSectionEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AStartProfileSectionEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AStopProfileSectionEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto APushRegionEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto APopRegionEvent (Matchers &&... matchers)
 
template<typename... Matchers>
auto AProfileEvent (Matchers &&... matchers)
 
template<typename Matcher>
auto ABeginParallelForEventWithName (Matcher &&matcher)
 
template<typename Matcher>
auto ABeginParallelReduceEventWithName (Matcher &&matcher)
 
template<typename Matcher>
auto ABeginParallelScanEventWithName (Matcher &&matcher)
 
template<typename Matcher>
auto ABeginFenceEventWithName (Matcher &&matcher)
 
template<typename Matcher>
auto ACreateProfileSectionEventWithName (Matcher &&matcher)
 
template<typename Matcher>
auto APushRegionEventWithName (Matcher &&matcher)
 
template<typename Matcher>
auto AProfileEventWithName (Matcher &&matcher)
 
template<typename T, typename... Matchers>
auto ContainsInOrder (Matchers &&... matchers)
 
template<typename ElementType, typename ElementMatcher>
auto ElementAt (const size_t index, ElementMatcher &&matcher)
 Check that an element at a given index matches.
 
template<Event EventType>
void dispatch (const EventType &event)
 If the Manager is initialized, call Manager::dispatch with event.
 
auto get_next_event_id () noexcept
 If the Manager is initialized, return Manager::get_next_event_id. Otherwise, return EventTraits::invalid_event_id.
 
auto get_next_section_id () noexcept
 
Stream operators.
template<typename T>
constexpr auto get_name ()
 Helper function to remove the Kokkos::utils::callbacks:: prefix.
 
template<BeginEvent EventType>
std::ostream & operator<< (std::ostream &out, const EventType &event)
 
std::ostream & operator<< (std::ostream &out, const BeginDeepCopyEvent &event)
 
std::ostream & operator<< (std::ostream &out, const EndDeepCopyEvent &)
 
std::ostream & operator<< (std::ostream &out, const CreateProfileSectionEvent &event)
 
std::ostream & operator<< (std::ostream &out, const PushRegionEvent &event)
 
std::ostream & operator<< (std::ostream &out, const PopRegionEvent &)
 
std::ostream & operator<< (std::ostream &out, const ProfileEvent &event)
 
std::ostream & operator<< (std::ostream &out, const AllocDescriptor &descr)
 
Helpers providing the @c Kokkos::Tools getters and setters corresponding to the event types.
template<Event EventType>
auto get_callback_from_eventset (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< BeginParallelForEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< EndParallelForEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< BeginParallelReduceEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< EndParallelReduceEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< BeginParallelScanEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< EndParallelScanEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< BeginFenceEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< EndFenceEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< AllocateDataEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< DeallocateDataEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< BeginDeepCopyEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< EndDeepCopyEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< CreateProfileSectionEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< StartProfileSectionEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< StopProfileSectionEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< DestroyProfileSectionEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< PushRegionEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< PopRegionEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<>
auto get_callback_from_eventset< ProfileEvent > (const Kokkos::Tools::Experimental::EventSet &event_set)
 
template<Event EventType>
auto get_callback_setter ()
 Get the setter function of a Kokkos profiling callback corresponding to EventType.
 
template<>
auto get_callback_setter< BeginParallelForEvent > ()
 
template<>
auto get_callback_setter< EndParallelForEvent > ()
 
template<>
auto get_callback_setter< BeginParallelReduceEvent > ()
 
template<>
auto get_callback_setter< EndParallelReduceEvent > ()
 
template<>
auto get_callback_setter< BeginParallelScanEvent > ()
 
template<>
auto get_callback_setter< EndParallelScanEvent > ()
 
template<>
auto get_callback_setter< BeginFenceEvent > ()
 
template<>
auto get_callback_setter< EndFenceEvent > ()
 
template<>
auto get_callback_setter< AllocateDataEvent > ()
 
template<>
auto get_callback_setter< DeallocateDataEvent > ()
 
template<>
auto get_callback_setter< BeginDeepCopyEvent > ()
 
template<>
auto get_callback_setter< EndDeepCopyEvent > ()
 
template<>
auto get_callback_setter< CreateProfileSectionEvent > ()
 
template<>
auto get_callback_setter< StartProfileSectionEvent > ()
 
template<>
auto get_callback_setter< StopProfileSectionEvent > ()
 
template<>
auto get_callback_setter< DestroyProfileSectionEvent > ()
 
template<>
auto get_callback_setter< PushRegionEvent > ()
 
template<>
auto get_callback_setter< PopRegionEvent > ()
 
template<>
auto get_callback_setter< ProfileEvent > ()
 

Typedef Documentation

◆ DeepCopyTimerListener

template<MatcherFor< BeginDeepCopyEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using Kokkos::utils::callbacks::DeepCopyTimerListener = BeginEndTimerListener<MatcherType, BeginDeepCopyEvent, Exec>

Timer listener for timing the execution of a deep copy that matches MatcherType.

Definition at line 54 of file BeginEndTimerListener.hpp.

◆ DeepCopyWithLaunchTimerListener

template<MatcherFor< BeginDeepCopyEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using Kokkos::utils::callbacks::DeepCopyWithLaunchTimerListener = BeginEndTimerListener<MatcherType, BeginDeepCopyEvent, Exec, EnqueuedEventWithLaunchTimer<Exec>>

Timer listener for timing the execution and the launch of a deep copy that matches MatcherType.

Definition at line 73 of file BeginEndTimerListener.hpp.

◆ EventTypeList

Initial value:
Kokkos::Impl::type_list<
>
Allocate-data event associated with Kokkos::Tools::Experimental::EventSet::allocate_data.
Definition Events.hpp:120
Begin-deep-copy event associated with Kokkos::Tools::Experimental::EventSet::begin_deep_copy.
Definition Events.hpp:136
Begin-fence event associated with Kokkos::Tools::Experimental::EventSet::begin_fence.
Definition Events.hpp:91
Begin-parallel-reduce event associated with Kokkos::Tools::Experimental::EventSet::begin_parallel_red...
Definition Events.hpp:55
Begin-parallel-scan event associated with Kokkos::Tools::Experimental::EventSet::begin_parallel_scan.
Definition Events.hpp:73
Create-profile-section event associated with Kokkos::Tools::Experimental::EventSet::create_profile_se...
Definition Events.hpp:151
Deallocate-data event associated with Kokkos::Tools::Experimental::EventSet::deallocate_data.
Definition Events.hpp:128
Destroy-profile-section event associated with Kokkos::Tools::Experimental::EventSet::destroy_profile_...
Definition Events.hpp:176
End-deep-copy event associated with Kokkos::Tools::Experimental::EventSet::end_deep_copy.
Definition Events.hpp:145
End-fence event associated with Kokkos::Tools::Experimental::EventSet::end_fence.
Definition Events.hpp:101
End-parallel-for event associated with Kokkos::Tools::Experimental::EventSet::end_parallel_for.
Definition Events.hpp:47
End-parallel-reduce event associated with Kokkos::Tools::Experimental::EventSet::end_parallel_reduce.
Definition Events.hpp:65
End-parallel-scan event associated with Kokkos::Tools::Experimental::EventSet::end_parallel_scan.
Definition Events.hpp:83
Pop-region event associated with Kokkos::Tools::Experimental::EventSet::pop_region.
Definition Events.hpp:192
Profile event associated with Kokkos::Tools::Experimental::EventSet::profile_event.
Definition Events.hpp:198
Push-region event associated with Kokkos::Tools::Experimental::EventSet::push_region.
Definition Events.hpp:184
Start-profile-section event associated with Kokkos::Tools::Experimental::EventSet::start_profile_sect...
Definition Events.hpp:160
Stop-profile-section event associated with Kokkos::Tools::Experimental::EventSet::stop_profile_sectio...
Definition Events.hpp:168

Type list holding all event types.

Definition at line 206 of file Events.hpp.

◆ listener_event_type_list_t

template<typename Callable>
using Kokkos::utils::callbacks::listener_event_type_list_t = typename impl::ListenerEventTypeList<Callable>::type

Type list holding the event types that Callable can be a listener for.

Definition at line 72 of file Listener.hpp.

◆ matcher_event_type_list_t

template<typename Callable>
using Kokkos::utils::callbacks::matcher_event_type_list_t = Kokkos::Impl::filter_type_list_t<impl::IsMatcherFor<Callable>::template type, EventTypeList>

Type list holding the event types that Callable can be a matcher for.

Definition at line 39 of file Matcher.hpp.

◆ paired_event_t

template<Event EventType>
using Kokkos::utils::callbacks::paired_event_t = typename PairedEventType<EventType>::type

Definition at line 311 of file Events.hpp.

◆ ParallelForTimerListener

template<MatcherFor< BeginParallelForEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using Kokkos::utils::callbacks::ParallelForTimerListener = BeginEndTimerListener<MatcherType, BeginParallelForEvent, Exec>

Timer listener for timing the execution of a parallel for that matches MatcherType.

Definition at line 42 of file BeginEndTimerListener.hpp.

◆ ParallelForWithLaunchTimerListener

template<MatcherFor< BeginParallelForEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using Kokkos::utils::callbacks::ParallelForWithLaunchTimerListener = BeginEndTimerListener<MatcherType, BeginParallelForEvent, Exec, EnqueuedEventWithLaunchTimer<Exec>>

Timer listener for timing the execution and the launch of a parallel for that matches MatcherType.

Definition at line 61 of file BeginEndTimerListener.hpp.

◆ ParallelReduceTimerListener

template<MatcherFor< BeginParallelReduceEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using Kokkos::utils::callbacks::ParallelReduceTimerListener = BeginEndTimerListener<MatcherType, BeginParallelReduceEvent, Exec>

Timer listener for timing the execution of a parallel reduce that matches MatcherType.

Definition at line 46 of file BeginEndTimerListener.hpp.

◆ ParallelScanTimerListener

template<MatcherFor< BeginParallelScanEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using Kokkos::utils::callbacks::ParallelScanTimerListener = BeginEndTimerListener<MatcherType, BeginParallelScanEvent, Exec>

Timer listener for timing the execution of a parallel scan that matches MatcherType.

Definition at line 50 of file BeginEndTimerListener.hpp.

◆ ParallelWithLaunchReduceTimerListener

Timer listener for timing the execution and the launch of a parallel reduce that matches MatcherType.

Definition at line 65 of file BeginEndTimerListener.hpp.

◆ ParallelWithLaunchScanTimerListener

template<MatcherFor< BeginParallelScanEvent > MatcherType, Kokkos::ExecutionSpace Exec>
using Kokkos::utils::callbacks::ParallelWithLaunchScanTimerListener = BeginEndTimerListener<MatcherType, BeginParallelScanEvent, Exec, EnqueuedEventWithLaunchTimer<Exec>>

Timer listener for timing the execution and the launch of a parallel scan that matches MatcherType.

Definition at line 69 of file BeginEndTimerListener.hpp.

Function Documentation

◆ AAllocateDataEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AAllocateDataEvent ( Matchers &&... matchers)

Definition at line 37 of file Helpers.hpp.

◆ ABeginDeepCopyEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ABeginDeepCopyEvent ( Matchers &&... matchers)

Definition at line 39 of file Helpers.hpp.

◆ ABeginFenceEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ABeginFenceEvent ( Matchers &&... matchers)

Definition at line 35 of file Helpers.hpp.

◆ ABeginFenceEventWithName()

template<typename Matcher>
auto Kokkos::utils::callbacks::ABeginFenceEventWithName ( Matcher && matcher)

Definition at line 62 of file Helpers.hpp.

◆ ABeginParallelForEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ABeginParallelForEvent ( Matchers &&... matchers)

Definition at line 29 of file Helpers.hpp.

◆ ABeginParallelForEventWithName()

template<typename Matcher>
auto Kokkos::utils::callbacks::ABeginParallelForEventWithName ( Matcher && matcher)

Definition at line 59 of file Helpers.hpp.

◆ ABeginParallelReduceEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ABeginParallelReduceEvent ( Matchers &&... matchers)

Definition at line 31 of file Helpers.hpp.

◆ ABeginParallelReduceEventWithName()

template<typename Matcher>
auto Kokkos::utils::callbacks::ABeginParallelReduceEventWithName ( Matcher && matcher)

Definition at line 60 of file Helpers.hpp.

◆ ABeginParallelScanEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ABeginParallelScanEvent ( Matchers &&... matchers)

Definition at line 33 of file Helpers.hpp.

◆ ABeginParallelScanEventWithName()

template<typename Matcher>
auto Kokkos::utils::callbacks::ABeginParallelScanEventWithName ( Matcher && matcher)

Definition at line 61 of file Helpers.hpp.

◆ ACreateProfileSectionEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ACreateProfileSectionEvent ( Matchers &&... matchers)

Definition at line 41 of file Helpers.hpp.

◆ ACreateProfileSectionEventWithName()

template<typename Matcher>
auto Kokkos::utils::callbacks::ACreateProfileSectionEventWithName ( Matcher && matcher)

Definition at line 63 of file Helpers.hpp.

◆ ADeallocateDataEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ADeallocateDataEvent ( Matchers &&... matchers)

Definition at line 38 of file Helpers.hpp.

◆ ADestroyProfileSectionEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::ADestroyProfileSectionEvent ( Matchers &&... matchers)

Definition at line 42 of file Helpers.hpp.

◆ AEndDeepCopyEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AEndDeepCopyEvent ( Matchers &&... matchers)

Definition at line 40 of file Helpers.hpp.

◆ AEndFenceEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AEndFenceEvent ( Matchers &&... matchers)

Definition at line 36 of file Helpers.hpp.

◆ AEndParallelForEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AEndParallelForEvent ( Matchers &&... matchers)

Definition at line 30 of file Helpers.hpp.

◆ AEndParallelReduceEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AEndParallelReduceEvent ( Matchers &&... matchers)

Definition at line 32 of file Helpers.hpp.

◆ AEndParallelScanEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AEndParallelScanEvent ( Matchers &&... matchers)

Definition at line 34 of file Helpers.hpp.

◆ APopRegionEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::APopRegionEvent ( Matchers &&... matchers)

Definition at line 46 of file Helpers.hpp.

◆ AProfileEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AProfileEvent ( Matchers &&... matchers)

Definition at line 47 of file Helpers.hpp.

◆ AProfileEventWithName()

template<typename Matcher>
auto Kokkos::utils::callbacks::AProfileEventWithName ( Matcher && matcher)

Definition at line 65 of file Helpers.hpp.

◆ APushRegionEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::APushRegionEvent ( Matchers &&... matchers)

Definition at line 45 of file Helpers.hpp.

◆ APushRegionEventWithName()

template<typename Matcher>
auto Kokkos::utils::callbacks::APushRegionEventWithName ( Matcher && matcher)

Definition at line 64 of file Helpers.hpp.

◆ AStartProfileSectionEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AStartProfileSectionEvent ( Matchers &&... matchers)

Definition at line 43 of file Helpers.hpp.

◆ AStopProfileSectionEvent()

template<typename... Matchers>
auto Kokkos::utils::callbacks::AStopProfileSectionEvent ( Matchers &&... matchers)

Definition at line 44 of file Helpers.hpp.

◆ ConjunctionMatcher()

template<typename... MatcherTypes>
Kokkos::utils::callbacks::ConjunctionMatcher ( MatcherTypes && ...) -> ConjunctionMatcher< MatcherTypes... >

◆ ContainsInOrder()

template<typename T, typename... Matchers>
auto Kokkos::utils::callbacks::ContainsInOrder ( Matchers &&... matchers)

Definition at line 176 of file Helpers.hpp.

◆ dispatch()

template<Event EventType>
void Kokkos::utils::callbacks::dispatch ( const EventType & event)

If the Manager is initialized, call Manager::dispatch with event.

Definition at line 486 of file Manager.hpp.

◆ ElementAt()

template<typename ElementType, typename ElementMatcher>
auto Kokkos::utils::callbacks::ElementAt ( const size_t index,
ElementMatcher && matcher )

Check that an element at a given index matches.

ASSERT_THAT(iterable, ElementAt(index, matcher));
auto ElementAt(const size_t index, ElementMatcher &&matcher)
Check that an element at a given index matches.
Definition Helpers.hpp:188

Definition at line 188 of file Helpers.hpp.

◆ get_callback_from_eventset()

template<Event EventType>
auto Kokkos::utils::callbacks::get_callback_from_eventset ( const Kokkos::Tools::Experimental::EventSet & event_set)

Get the member of a Kokkos::Tools::Experimental::EventSet corresponding to EventType.

◆ get_callback_from_eventset< AllocateDataEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< AllocateDataEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 409 of file Events.hpp.

◆ get_callback_from_eventset< BeginDeepCopyEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< BeginDeepCopyEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 411 of file Events.hpp.

◆ get_callback_from_eventset< BeginFenceEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< BeginFenceEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 407 of file Events.hpp.

◆ get_callback_from_eventset< BeginParallelForEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< BeginParallelForEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 401 of file Events.hpp.

◆ get_callback_from_eventset< BeginParallelReduceEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< BeginParallelReduceEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 403 of file Events.hpp.

◆ get_callback_from_eventset< BeginParallelScanEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< BeginParallelScanEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 405 of file Events.hpp.

◆ get_callback_from_eventset< CreateProfileSectionEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< CreateProfileSectionEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 413 of file Events.hpp.

◆ get_callback_from_eventset< DeallocateDataEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< DeallocateDataEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 410 of file Events.hpp.

◆ get_callback_from_eventset< DestroyProfileSectionEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< DestroyProfileSectionEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 416 of file Events.hpp.

◆ get_callback_from_eventset< EndDeepCopyEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< EndDeepCopyEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 412 of file Events.hpp.

◆ get_callback_from_eventset< EndFenceEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< EndFenceEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 408 of file Events.hpp.

◆ get_callback_from_eventset< EndParallelForEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< EndParallelForEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 402 of file Events.hpp.

◆ get_callback_from_eventset< EndParallelReduceEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< EndParallelReduceEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 404 of file Events.hpp.

◆ get_callback_from_eventset< EndParallelScanEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< EndParallelScanEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 406 of file Events.hpp.

◆ get_callback_from_eventset< PopRegionEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< PopRegionEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 418 of file Events.hpp.

◆ get_callback_from_eventset< ProfileEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< ProfileEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 419 of file Events.hpp.

◆ get_callback_from_eventset< PushRegionEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< PushRegionEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 417 of file Events.hpp.

◆ get_callback_from_eventset< StartProfileSectionEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< StartProfileSectionEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 414 of file Events.hpp.

◆ get_callback_from_eventset< StopProfileSectionEvent >()

template<>
auto Kokkos::utils::callbacks::get_callback_from_eventset< StopProfileSectionEvent > ( const Kokkos::Tools::Experimental::EventSet & event_set)
inline

Definition at line 415 of file Events.hpp.

◆ get_callback_setter()

template<Event EventType>
auto Kokkos::utils::callbacks::get_callback_setter ( )

Get the setter function of a Kokkos profiling callback corresponding to EventType.

◆ get_callback_setter< AllocateDataEvent >()

Definition at line 438 of file Events.hpp.

◆ get_callback_setter< BeginDeepCopyEvent >()

Definition at line 440 of file Events.hpp.

◆ get_callback_setter< BeginFenceEvent >()

Definition at line 436 of file Events.hpp.

◆ get_callback_setter< BeginParallelForEvent >()

Definition at line 430 of file Events.hpp.

◆ get_callback_setter< BeginParallelReduceEvent >()

Definition at line 432 of file Events.hpp.

◆ get_callback_setter< BeginParallelScanEvent >()

Definition at line 434 of file Events.hpp.

◆ get_callback_setter< CreateProfileSectionEvent >()

Definition at line 442 of file Events.hpp.

◆ get_callback_setter< DeallocateDataEvent >()

Definition at line 439 of file Events.hpp.

◆ get_callback_setter< DestroyProfileSectionEvent >()

Definition at line 445 of file Events.hpp.

◆ get_callback_setter< EndDeepCopyEvent >()

Definition at line 441 of file Events.hpp.

◆ get_callback_setter< EndFenceEvent >()

Definition at line 437 of file Events.hpp.

◆ get_callback_setter< EndParallelForEvent >()

Definition at line 431 of file Events.hpp.

◆ get_callback_setter< EndParallelReduceEvent >()

Definition at line 433 of file Events.hpp.

◆ get_callback_setter< EndParallelScanEvent >()

Definition at line 435 of file Events.hpp.

◆ get_callback_setter< PopRegionEvent >()

Definition at line 447 of file Events.hpp.

◆ get_callback_setter< ProfileEvent >()

Definition at line 448 of file Events.hpp.

◆ get_callback_setter< PushRegionEvent >()

Definition at line 446 of file Events.hpp.

◆ get_callback_setter< StartProfileSectionEvent >()

Definition at line 443 of file Events.hpp.

◆ get_callback_setter< StopProfileSectionEvent >()

Definition at line 444 of file Events.hpp.

◆ get_name()

template<typename T>
auto Kokkos::utils::callbacks::get_name ( )
constexpr

Helper function to remove the Kokkos::utils::callbacks:: prefix.

Note
For the sake of performance, the size is hardcoded to 26 instead of doing a search.

Definition at line 322 of file Events.hpp.

◆ get_next_event_id()

auto Kokkos::utils::callbacks::get_next_event_id ( )
inlinenoexcept

If the Manager is initialized, return Manager::get_next_event_id. Otherwise, return EventTraits::invalid_event_id.

Definition at line 492 of file Manager.hpp.

◆ get_next_section_id()

auto Kokkos::utils::callbacks::get_next_section_id ( )
inlinenoexcept

Definition at line 496 of file Manager.hpp.

◆ operator<<() [1/8]

std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const AllocDescriptor & descr )
inline

Definition at line 384 of file Events.hpp.

◆ operator<<() [2/8]

std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const BeginDeepCopyEvent & event )
inline

Definition at line 345 of file Events.hpp.

◆ operator<<() [3/8]

std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const CreateProfileSectionEvent & event )
inline

Definition at line 358 of file Events.hpp.

◆ operator<<() [4/8]

std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const EndDeepCopyEvent &  )
inline

Definition at line 353 of file Events.hpp.

◆ operator<<() [5/8]

template<BeginEvent EventType>
std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const EventType & event )

Definition at line 327 of file Events.hpp.

◆ operator<<() [6/8]

std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const PopRegionEvent &  )
inline

Definition at line 374 of file Events.hpp.

◆ operator<<() [7/8]

std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const ProfileEvent & event )
inline

Definition at line 379 of file Events.hpp.

◆ operator<<() [8/8]

std::ostream & Kokkos::utils::callbacks::operator<< ( std::ostream & out,
const PushRegionEvent & event )
inline

Definition at line 369 of file Events.hpp.

◆ operator==()

bool Kokkos::utils::callbacks::operator== ( const Kokkos_Profiling_SpaceHandle & fst,
const Kokkos_Profiling_SpaceHandle & snd )

Equality comparison for Kokkos_Profiling_SpaceHandle.

Definition at line 21 of file Events.hpp.