kokkos-execution 0.0.1
Loading...
Searching...
No Matches
Kokkos::Execution::Impl Namespace Reference

Namespaces

namespace  ContinuesOn
namespace  detail
namespace  ScheduleFrom
namespace  SyncWait

Classes

struct  ApplySender
struct  BulkTraits
 Extract the policy, shape and functor type of bulk data. More...
struct  BulkTraits< stdexec::__bulk::__data< Policy, Shape, Functor > >
struct  Collapse
struct  Collapse< stdexec::__mlist< T > >
struct  CompileTimeOptional
 Compile-time optional value that holds a T when Enabled, is an empty type otherwise. More...
struct  CompileTimeOptional< false, T >
struct  CompileTimeOptional< true, T >
struct  CompletionSignal
struct  CompletionSignal< SubmittedPolicy::DependOnEvent, Exec, Rcvr >
 Create an event in the execution space instance, and pass a handle to the event to the receiver, thus deferring to the successor the responsibility to wait on the event. More...
struct  CompletionSignal< SubmittedPolicy::OrderOnExec, Exec, Rcvr >
struct  CompletionSignal< SyncPolicy::InlineFenceExec, Exec, Rcvr >
 Fence the execution space instance to complete the operation and then invoke the receiver. More...
struct  CompletionSignal< SyncPolicy::ScheduleWaitEvent, Exec, Rcvr >
 Create an event in the execution space instance, and schedule on the delegation scheduler a task that waits on this event and then invoke the receiver. More...
struct  Dependency
 This is the default implementation. More...
struct  Dependency< Exec, Exec >
struct  Diagnose
struct  Diagnose< T >
struct  Empty
struct  Event
 An event that can be recorded on an execution space instance. More...
struct  Event< Kokkos::Cuda >
struct  Event< Kokkos::Experimental::HPX >
struct  Event< Kokkos::HIP >
struct  Event< Kokkos::SYCL >
struct  ExecOf
struct  ExecOf< Sndr, Env... >
 Type of the execution space extracted from Sndr completion scheduler. More...
struct  ExecOf< T >
 Type of the execution space extracted from a get_exec_t query on T. More...
struct  ExecutionSpaceRef
 Wrap a Kokkos execution space to make it cheap to copy/move in new environments. More...
struct  FirstError
struct  FirstError< stdexec::__mlist< Ts... > >
struct  FirstErrorOf
struct  FirstErrorOf< T >
struct  FirstErrorOf< T, Ts... >
struct  FixedString
 Fixed-capacity string built from a char array. More...
struct  ForwardingAttributes
 Filter queries on a sender to allow forwarding queries only. More...
struct  get_exec_t
struct  HasExecWaitEvent
struct  HasExecWaitEvent< Kokkos::Cuda >
struct  HasExecWaitEvent< Kokkos::Experimental::HPX >
struct  HasExecWaitEvent< Kokkos::HIP >
struct  HasExecWaitEvent< Kokkos::SYCL >
struct  HasNonBlockingDispatch
 Determine if the Kokkos backend has non-blocking dispatch. More...
struct  HasNonBlockingDispatch< Kokkos::Cuda >
struct  HasNonBlockingDispatch< Kokkos::Experimental::HPX >
struct  HasNonBlockingDispatch< Kokkos::HIP >
struct  HasNonBlockingDispatch< Kokkos::SYCL >
struct  Immovable
 Immovable type. More...
struct  KeepErrors
struct  KeepErrors< stdexec::__mlist< Ts... > >
struct  Label
 Label property. More...
struct  make_policy_t
 Utility functions that wrap constructors of Kokkos execution policies. More...
struct  MakeOpState
struct  OptionalRef
 A non-owning, nullable reference to a T. More...
class  OptionalStorage
 Data structure that has an interface similar to std::optional but stores the value with stdexec::__manual_lifetime. More...
struct  ParallelForData
struct  ParallelForSender
struct  ParallelReduceData
struct  ParallelReduceSender
struct  properties
 Type list of properties. More...
struct  queryable_for
struct  Receiver
 Receiver for an object parent_op that implements complete. More...
struct  RecordEvent
 Event to be sent to Kokkos::utils::callbacks::dispatch when calling record. More...
struct  RequiresSync
struct  ScheduleWaitEventReceiver
struct  State
struct  SubmittedOperationStateTag
struct  SubmittedPolicy
struct  SubmittedPolicyTag
struct  SubmittedReceiverTag
struct  SyncPolicy
 Under a sync policy, a terminal completion is propagated: in-flight operations must complete. More...
struct  SyncPolicyTag
struct  TransformSender
struct  TryDiagnose
struct  TryDiagnose< T >
struct  WaitEvent
 Event to be sent to Kokkos::utils::callbacks::dispatch when calling wait. More...
struct  WITH_CHILDREN_ERRORS
 Tag to be used to signal children errors. More...
struct  WITH_EXECUTION_SPACE
 Tag to be used to signal an execution space. More...
struct  WITH_OPSTATE

Concepts

concept  dispatching_sender
 Concept that constrains the type of a sender that dispatches a functor for execution.
concept  empty
concept  event
 Constrain an EventType type to be a valid event type for Exec execution space type.
concept  execution_policy_or_iteration_space
concept  extents
concept  has_exec_wait_event
 Determine if the Kokkos backend can enqueue a wait for an event into an execution space instance.
concept  has_non_blocking_dispatch
concept  has_parallel_policy
 See https://github.com/NVIDIA/stdexec/blob/16076a81efa4477513e6ede9c2741fd034ecef99/include/stdexec/__detail/__bulk.hpp#L100.
concept  iteration_space
 Concept that constrains types that may represent an iteration space.
concept  label
 Constrain the accepted label types.
concept  labeled
concept  parallel_for_data
concept  parallel_reduce_data
concept  range_slice
concept  range_slice_with_default_stride
concept  signals_submitted
concept  submitted_policy
concept  supports_submitted
concept  supports_submitted_depend_on
concept  supports_submitted_order_on
concept  sync_policy
concept  updatable_to
 Only the execution space instance, not its type, can be bound late.

Typedefs

template<typename Data>
using bulk_traits = BulkTraits<std::remove_cvref_t<Data>>
template<Kokkos::ExecutionSpace Exec, typename Data>
using make_policy_for_bulk_t = Impl::make_policy_t<Exec, Kokkos::IndexType<typename Impl::bulk_traits<Data>::shape_t>>
template<typename Data>
using functor_for_bulk_t = typename Impl::bulk_traits<Data>::functor_t
template<typename Data>
using iter_space_for_bulk_t = Kokkos::dims<1, typename Impl::bulk_traits<Data>::shape_t>
template<stdexec::sender Sndr, stdexec::__valid_completion_signatures ExtraSigs, typename... Env>
using completion_signatures_add_t = decltype(completion_signatures_add<Sndr, ExtraSigs, Env...>())
template<Kokkos::ExecutionSpace Exec>
using event_storage_t = std::optional<Event<Exec>>
template<Kokkos::ExecutionSpace Exec>
using OptionalConstEventRef = OptionalRef<const Event<Exec>>
 Optionally stores a reference to a const Impl::Event.
template<typename... Args>
using exec_of_t = typename ExecOf<Args...>::type
template<typename MakePolicy, typename... Args>
using make_policy_result_t = std::invoke_result_t<const MakePolicy&, Args...>
template<typename Env>
using delegation_scheduler_of_t = stdexec::__query_result_t<const Env&, stdexec::get_delegation_scheduler_t>
template<typename Tag, stdexec::sender Sndr, typename... Env>
using completion_scheduler_of_t
 Retrieve the completion scheduler for a given completion tag.
Diagnosis of @c T if it provides @c diagnose. @note It is considered @c stdexec::__msuccess otherwise.
template<typename T>
using try_diagnose_t = typename TryDiagnose<T>::type
Diagnose one or more types.
template<typename... Ts>
using diagnose_t = typename Diagnose<Ts...>::type
Keep the first encountered error, @c stdexec::__msuccess otherwise.
template<typename T>
using first_error_t = typename FirstError<T>::type
Collapse a one-item list to the item itself.
template<typename T>
using collapse_t = typename Collapse<T>::type
Filter-out anything that is not an error.

If no error is found, return stdexec::__mlist<> if the input was a list, stdexec::__msuccess otherwise. If one error E is found, return stdexec::__mlist<E> if the input was a list, E otherwise. If many errors Es... are found, return them as a stdexec::__mlist<Es...>.

template<typename T>
using keep_if_error_t = std::conditional_t<stdexec::__merror<T>, stdexec::__mlist<T>, stdexec::__mlist<>>
template<typename List>
using keep_errors_t = typename KeepErrors<List>::type

Functions

template<stdexec::sender Sndr, stdexec::__valid_completion_signatures ExtraSigs, typename... Env>
consteval auto completion_signatures_add ()
 Concatenate Sndr completion signatures with ExtraSigs if Sndr sends on the value channel; otherwise return Sndr completion signatures unchanged.
template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::Cuda> && ...)
void impl_wait (const Kokkos::Cuda &exec, const Event< ExecFrom > &... events)
template<typename T>
constexpr bool mandate_or_explain () noexcept
 If T::value is false, diagnose.
template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
consteval auto dispatch_label () noexcept(noexcept(std::string_view{dispatch_label_v< Exec, Suffix >.data(), dispatch_label_v< Exec, Suffix >.size()})) -> decltype(std::string_view{dispatch_label_v< Exec, Suffix >.data(), dispatch_label_v< Exec, Suffix >.size()})
 View the dispatch label as a std::string_view.
template<Kokkos::ExecutionSpace Exec>
void record_event (const Exec &exec, uint64_t &event_id)
template<Kokkos::ExecutionSpace Exec>
void wait_event (const Event< Exec > &event)
template<Kokkos::ExecutionSpace ExecTo, Kokkos::ExecutionSpace ExecFrom>
void wait_event (const ExecTo &exec, const Event< ExecFrom > &event)
template<Kokkos::ExecutionSpace Exec>
void record (Event< Exec > &event, const Exec &exec)
 Record event on exec.
template<Kokkos::ExecutionSpace... Exec>
void impl_wait (const Event< Exec > &... events)
template<Kokkos::ExecutionSpace... Exec>
void wait (const Event< Exec > &... events)
 Wait for events to complete.
template<Kokkos::ExecutionSpace ExecTo, Kokkos::ExecutionSpace... ExecFrom>
void impl_wait (const ExecTo &, const Event< ExecFrom > &... events)
template<Kokkos::ExecutionSpace ExecTo, Kokkos::ExecutionSpace... ExecFrom>
void wait (const ExecTo &exec, const Event< ExecFrom > &... events)
 The operations enqueued from the calling thread into exec cannot start before the event events completes.
template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::HIP> && ...)
void impl_wait (const Kokkos::HIP &exec, const Event< ExecFrom > &... events)
template<Kokkos::ExecutionSpace... Exec>
requires (std::same_as<Exec, Kokkos::Experimental::HPX> && ...)
void impl_wait (const Event< Kokkos::Experimental::HPX > &event, const Event< Exec > &... events)
template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::Experimental::HPX> && ...)
void impl_wait (const Kokkos::Experimental::HPX &exec, const Event< ExecFrom > &... events)
template<std::integral T>
constexpr auto make_iter_space (const T work_count) noexcept -> Kokkos::dims< 1, T >
 Make a valid iteration space from a work count.
template<typename T>
requires std::convertible_to<T, std::string>
constexpr auto as_convertible_to_string (T &&value) noexcept(noexcept(std::forward< T >(value))) -> decltype(std::forward< T >(value))
 Convert to a value usable as a std::string.
template<typename T>
requires (!std::convertible_to<T, std::string>)
constexpr auto as_convertible_to_string (T &&value) noexcept(noexcept(static_cast< std::string >(std::forward< T >(value)))) -> decltype(static_cast< std::string >(std::forward< T >(value)))
template<typename Data, typename Property>
consteval bool has_property ()
 Return true when Data derives from the property Property.
template<typename Data, template< typename... > typename Property>
consteval bool has_property ()
 Return true when Data derives from the templated property Property.
template<typename Property, typename Data>
requires (has_property<std::remove_cvref_t<Data>, Property>())
constexpr decltype(auto) get_property (Data &&data) noexcept
template<template< typename... > typename Property, typename Data>
requires (has_property<std::remove_cvref_t<Data>, Property>())
constexpr decltype(auto) get_property (Data &&data) noexcept
template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::SYCL> && ...)
void impl_wait (const Kokkos::SYCL &exec, const Event< ExecFrom > &... events)
template<typename T>
constexpr auto display_string_of () noexcept -> std::string_view
CTAD for @ref Label.
template<std::convertible_to< std::string > T>
 Label (T) -> Label< std::string >
template<typename T>
 Label (T) -> Label< T >

Variables

template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
constexpr auto dispatch_label_v = detail::dispatch_label<Exec, Suffix>()
 Get the dispatch label from Exec and Suffix.
static constexpr auto invalid_dev_id = Kokkos::Experimental::finite_max_v<uint32_t>
static constexpr auto invalid_event_id = Kokkos::Experimental::finite_max_v<uint64_t>
template<typename T>
constexpr bool is_fixed_string_v = false
template<std::size_t N>
constexpr bool is_fixed_string_v< FixedString< N > > = true
constexpr get_exec_t get_exec {}
template<Kokkos::ExecutionSpace Exec, typename... Properties>
constexpr make_policy_t< Exec, Properties... > make_policy {}

Rebinds the template arguments of @p From onto the template @p To.

template<template< typename... > class To, typename From>
using rebind_t = decltype(rebind<To>(static_cast<From*>(nullptr)))
template<template< typename... > class To, template< typename... > class From, typename... As>
auto rebind (From< As... > *) -> To< As... >

Typedef Documentation

◆ bulk_traits

template<typename Data>
using Kokkos::Execution::Impl::bulk_traits = BulkTraits<std::remove_cvref_t<Data>>

Definition at line 28 of file bulk.hpp.

◆ collapse_t

template<typename T>
using Kokkos::Execution::Impl::collapse_t = typename Collapse<T>::type

Definition at line 105 of file diagnostics.hpp.

◆ completion_scheduler_of_t

template<typename Tag, stdexec::sender Sndr, typename... Env>
using Kokkos::Execution::Impl::completion_scheduler_of_t
Initial value:
std::invoke_result_t<stdexec::get_completion_scheduler_t<Tag>, stdexec::env_of_t<Sndr>, Env...>

Retrieve the completion scheduler for a given completion tag.

It is heavily inspired, yet different from https://github.com/NVIDIA/stdexec/blob/45c0f5803c190366a8529833901d1f6340b40d2e/include/stdexec/__detail/__schedulers.hpp#L395-L398.

While stdexec::__completion_scheduler_of_t is constrained to a sender that "sends", this version does not and returns what a genuine call to stdexec::get_completion_scheduler would.

Definition at line 18 of file sender_introspection.hpp.

◆ completion_signatures_add_t

template<stdexec::sender Sndr, stdexec::__valid_completion_signatures ExtraSigs, typename... Env>
using Kokkos::Execution::Impl::completion_signatures_add_t = decltype(completion_signatures_add<Sndr, ExtraSigs, Env...>())

Definition at line 29 of file completion_signatures.hpp.

◆ delegation_scheduler_of_t

template<typename Env>
using Kokkos::Execution::Impl::delegation_scheduler_of_t = stdexec::__query_result_t<const Env&, stdexec::get_delegation_scheduler_t>

Definition at line 9 of file schedulers.hpp.

◆ diagnose_t

template<typename... Ts>
using Kokkos::Execution::Impl::diagnose_t = typename Diagnose<Ts...>::type

Definition at line 67 of file diagnostics.hpp.

◆ event_storage_t

template<Kokkos::ExecutionSpace Exec>
using Kokkos::Execution::Impl::event_storage_t = std::optional<Event<Exec>>

Definition at line 179 of file event.hpp.

◆ exec_of_t

template<typename... Args>
using Kokkos::Execution::Impl::exec_of_t = typename ExecOf<Args...>::type

Definition at line 42 of file get_exec.hpp.

◆ first_error_t

template<typename T>
using Kokkos::Execution::Impl::first_error_t = typename FirstError<T>::type

Definition at line 91 of file diagnostics.hpp.

◆ functor_for_bulk_t

template<typename Data>
using Kokkos::Execution::Impl::functor_for_bulk_t = typename Impl::bulk_traits<Data>::functor_t

Definition at line 40 of file bulk.hpp.

◆ iter_space_for_bulk_t

template<typename Data>
using Kokkos::Execution::Impl::iter_space_for_bulk_t = Kokkos::dims<1, typename Impl::bulk_traits<Data>::shape_t>

Definition at line 43 of file bulk.hpp.

◆ keep_errors_t

template<typename List>
using Kokkos::Execution::Impl::keep_errors_t = typename KeepErrors<List>::type

Definition at line 130 of file diagnostics.hpp.

◆ keep_if_error_t

template<typename T>
using Kokkos::Execution::Impl::keep_if_error_t = std::conditional_t<stdexec::__merror<T>, stdexec::__mlist<T>, stdexec::__mlist<>>

Definition at line 117 of file diagnostics.hpp.

◆ make_policy_for_bulk_t

template<Kokkos::ExecutionSpace Exec, typename Data>
using Kokkos::Execution::Impl::make_policy_for_bulk_t = Impl::make_policy_t<Exec, Kokkos::IndexType<typename Impl::bulk_traits<Data>::shape_t>>

According to https://eel.is/c++draft/exec#bulk-4, the callable is invoked using an index whose type is the same as the stdexec::bulk_t shape argument type.

See also https://github.com/NVIDIA/stdexec/pull/2359.

Definition at line 37 of file bulk.hpp.

◆ make_policy_result_t

template<typename MakePolicy, typename... Args>
using Kokkos::Execution::Impl::make_policy_result_t = std::invoke_result_t<const MakePolicy&, Args...>

Definition at line 77 of file make_policy.hpp.

◆ OptionalConstEventRef

template<Kokkos::ExecutionSpace Exec>
using Kokkos::Execution::Impl::OptionalConstEventRef = OptionalRef<const Event<Exec>>

Optionally stores a reference to a const Impl::Event.

Definition at line 183 of file event.hpp.

◆ rebind_t

template<template< typename... > class To, typename From>
using Kokkos::Execution::Impl::rebind_t = decltype(rebind<To>(static_cast<From*>(nullptr)))

Definition at line 32 of file diagnostics.hpp.

◆ try_diagnose_t

template<typename T>
using Kokkos::Execution::Impl::try_diagnose_t = typename TryDiagnose<T>::type

Definition at line 49 of file diagnostics.hpp.

Function Documentation

◆ as_convertible_to_string() [1/2]

template<typename T>
requires (!std::convertible_to<T, std::string>)
auto Kokkos::Execution::Impl::as_convertible_to_string ( T && value) -> decltype(static_cast< std::string >(std::forward< T >(value)))
constexprnoexcept

Definition at line 79 of file label.hpp.

References as_convertible_to_string().

◆ as_convertible_to_string() [2/2]

template<typename T>
requires std::convertible_to<T, std::string>
auto Kokkos::Execution::Impl::as_convertible_to_string ( T && value) -> decltype(std::forward< T >(value))
constexprnoexcept

Convert to a value usable as a std::string.

If value is (implicitly) convertible to a std::string, it is forwarded as-is.

Todo
While Kokkos::parallel_for allows for convertible-to std::string labels, Kokkos::parallel_reduce does not. See also:

Definition at line 75 of file label.hpp.

References as_convertible_to_string().

◆ completion_signatures_add()

template<stdexec::sender Sndr, stdexec::__valid_completion_signatures ExtraSigs, typename... Env>
auto Kokkos::Execution::Impl::completion_signatures_add ( )
consteval

Concatenate Sndr completion signatures with ExtraSigs if Sndr sends on the value channel; otherwise return Sndr completion signatures unchanged.

References:

Definition at line 18 of file completion_signatures.hpp.

References completion_signatures_add().

◆ dispatch_label()

template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
auto Kokkos::Execution::Impl::dispatch_label ( ) -> decltype(std::string_view{dispatch_label_v< Exec, Suffix >.data(), dispatch_label_v< Exec, Suffix >.size()})
constevalnoexcept

View the dispatch label as a std::string_view.

Definition at line 47 of file dispatch_label.hpp.

References dispatch_label(), and dispatch_label_v.

◆ display_string_of()

template<typename T>
auto Kokkos::Execution::Impl::display_string_of ( ) -> std::string_view
constexprnoexcept

Definition at line 20 of file type_info.hpp.

References display_string_of().

◆ get_property() [1/2]

template<template< typename... > typename Property, typename Data>
requires (has_property<std::remove_cvref_t<Data>, Property>())
decltype(auto) Kokkos::Execution::Impl::get_property ( Data && data)
constexprnoexcept

Definition at line 86 of file properties.hpp.

References Kokkos::Execution::Impl::detail::as_base(), and get_property().

◆ get_property() [2/2]

template<typename Property, typename Data>
requires (has_property<std::remove_cvref_t<Data>, Property>())
decltype(auto) Kokkos::Execution::Impl::get_property ( Data && data)
constexprnoexcept

Definition at line 80 of file properties.hpp.

References Kokkos::Execution::Impl::detail::as_base(), and get_property().

◆ has_property() [1/2]

template<typename Data, template< typename... > typename Property>
bool Kokkos::Execution::Impl::has_property ( )
consteval

Return true when Data derives from the templated property Property.

Definition at line 74 of file properties.hpp.

References Kokkos::Execution::Impl::detail::deduce_from_base(), and has_property().

◆ has_property() [2/2]

template<typename Data, typename Property>
bool Kokkos::Execution::Impl::has_property ( )
consteval

Return true when Data derives from the property Property.

Definition at line 68 of file properties.hpp.

References has_property().

◆ impl_wait() [1/7]

template<Kokkos::ExecutionSpace... Exec>
void Kokkos::Execution::Impl::impl_wait ( const Event< Exec > &... events)

Definition at line 151 of file event.hpp.

References impl_wait(), and Kokkos::Execution::Impl::Event< Exec >::wait().

◆ impl_wait() [2/7]

template<Kokkos::ExecutionSpace... Exec>
requires (std::same_as<Exec, Kokkos::Experimental::HPX> && ...)
void Kokkos::Execution::Impl::impl_wait ( const Event< Kokkos::Experimental::HPX > & event,
const Event< Exec > &... events )

Mark the events as consumed.

Definition at line 87 of file event.hpp.

References impl_wait().

◆ impl_wait() [3/7]

template<Kokkos::ExecutionSpace ExecTo, Kokkos::ExecutionSpace... ExecFrom>
void Kokkos::Execution::Impl::impl_wait ( const ExecTo & ,
const Event< ExecFrom > &... events )

Definition at line 163 of file event.hpp.

References impl_wait(), and Kokkos::Execution::Impl::Event< Exec >::wait().

◆ impl_wait() [4/7]

template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::Cuda> && ...)
void Kokkos::Execution::Impl::impl_wait ( const Kokkos::Cuda & exec,
const Event< ExecFrom > &... events )

Definition at line 60 of file event.hpp.

References impl_wait().

◆ impl_wait() [5/7]

template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::Experimental::HPX> && ...)
void Kokkos::Execution::Impl::impl_wait ( const Kokkos::Experimental::HPX & exec,
const Event< ExecFrom > &... events )

Mark the events as consumed.

Definition at line 100 of file event.hpp.

References impl_wait().

◆ impl_wait() [6/7]

template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::HIP> && ...)
void Kokkos::Execution::Impl::impl_wait ( const Kokkos::HIP & exec,
const Event< ExecFrom > &... events )

Definition at line 60 of file event.hpp.

References impl_wait().

◆ impl_wait() [7/7]

template<Kokkos::ExecutionSpace... ExecFrom>
requires (std::same_as<ExecFrom, Kokkos::SYCL> && ...)
void Kokkos::Execution::Impl::impl_wait ( const Kokkos::SYCL & exec,
const Event< ExecFrom > &... events )

Definition at line 58 of file event.hpp.

References impl_wait().

◆ Label() [1/2]

template<std::convertible_to< std::string > T>
Kokkos::Execution::Impl::Label ( T ) -> Label< std::string >

◆ Label() [2/2]

template<typename T>
Kokkos::Execution::Impl::Label ( T ) -> Label< T >

◆ make_iter_space()

template<std::integral T>
auto Kokkos::Execution::Impl::make_iter_space ( const T work_count) -> Kokkos::dims< 1, T >
constexprnoexcept

Make a valid iteration space from a work count.

Definition at line 36 of file iteration_space.hpp.

References make_iter_space().

◆ mandate_or_explain()

template<typename T>
bool Kokkos::Execution::Impl::mandate_or_explain ( )
constexprnoexcept

If T::value is false, diagnose.

Definition at line 135 of file diagnostics.hpp.

References mandate_or_explain().

◆ rebind()

template<template< typename... > class To, template< typename... > class From, typename... As>
auto Kokkos::Execution::Impl::rebind ( From< As... > * ) -> To< As... >

References rebind().

◆ record()

template<Kokkos::ExecutionSpace Exec>
void Kokkos::Execution::Impl::record ( Event< Exec > & event,
const Exec & exec )

Record event on exec.

Definition at line 145 of file event.hpp.

References record(), and record_event().

◆ record_event()

template<Kokkos::ExecutionSpace Exec>
void Kokkos::Execution::Impl::record_event ( const Exec & exec,
uint64_t & event_id )

◆ wait() [1/2]

template<Kokkos::ExecutionSpace... Exec>
void Kokkos::Execution::Impl::wait ( const Event< Exec > &... events)

Wait for events to complete.

Definition at line 157 of file event.hpp.

References impl_wait(), wait(), and wait_event().

◆ wait() [2/2]

template<Kokkos::ExecutionSpace ExecTo, Kokkos::ExecutionSpace... ExecFrom>
void Kokkos::Execution::Impl::wait ( const ExecTo & exec,
const Event< ExecFrom > &... events )

The operations enqueued from the calling thread into exec cannot start before the event events completes.

Note
Backends should specialize impl_wait.

Definition at line 173 of file event.hpp.

References impl_wait(), wait(), and wait_event().

◆ wait_event() [1/2]

template<Kokkos::ExecutionSpace Exec>
void Kokkos::Execution::Impl::wait_event ( const Event< Exec > & event)

Definition at line 92 of file event.hpp.

References Kokkos::utils::callbacks::dispatch(), invalid_dev_id, and wait_event().

◆ wait_event() [2/2]

template<Kokkos::ExecutionSpace ExecTo, Kokkos::ExecutionSpace ExecFrom>
void Kokkos::Execution::Impl::wait_event ( const ExecTo & exec,
const Event< ExecFrom > & event )

Definition at line 99 of file event.hpp.

References Kokkos::utils::callbacks::dispatch(), and wait_event().

Variable Documentation

◆ dispatch_label_v

template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
auto Kokkos::Execution::Impl::dispatch_label_v = detail::dispatch_label<Exec, Suffix>()
constexpr

Get the dispatch label from Exec and Suffix.

Definition at line 43 of file dispatch_label.hpp.

◆ get_exec

get_exec_t Kokkos::Execution::Impl::get_exec {}
inlineconstexpr

Definition at line 24 of file get_exec.hpp.

◆ invalid_dev_id

auto Kokkos::Execution::Impl::invalid_dev_id = Kokkos::Experimental::finite_max_v<uint32_t>
staticconstexpr

Definition at line 55 of file event.hpp.

◆ invalid_event_id

auto Kokkos::Execution::Impl::invalid_event_id = Kokkos::Experimental::finite_max_v<uint64_t>
staticconstexpr

Definition at line 56 of file event.hpp.

◆ is_fixed_string_v

template<typename T>
bool Kokkos::Execution::Impl::is_fixed_string_v = false
constexpr

Definition at line 48 of file fixed_string.hpp.

◆ is_fixed_string_v< FixedString< N > >

template<std::size_t N>
bool Kokkos::Execution::Impl::is_fixed_string_v< FixedString< N > > = true
constexpr

Definition at line 51 of file fixed_string.hpp.

◆ make_policy

template<Kokkos::ExecutionSpace Exec, typename... Properties>
make_policy_t<Exec, Properties...> Kokkos::Execution::Impl::make_policy {}
inlineconstexpr

Definition at line 73 of file make_policy.hpp.