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

Classes

struct  ForwardingAttributes
 Filter queries on a sender to allow forwarding queries only. More...
struct  BulkTraits
 Extract the policy, shape and functor type of bulk data. More...
struct  BulkTraits< stdexec::__bulk::__data< Policy, Shape, Functor > >
struct  SupportEvents< Kokkos::Cuda >
struct  Event< Kokkos::Cuda >
struct  FixedString
struct  UpsertInEnvFn
struct  UpsertInEnvOrJoinFn
struct  Event
 An event that can be recorded on an execution space instance. More...
struct  SupportEvents
 Determine if events are supported. More...
struct  RecordEvent
 Event to be sent to Kokkos::utils::callbacks::dispatch when an event is recorded on an execution space instance. More...
struct  WaitEvent
 Event to be sent to Kokkos::utils::callbacks::dispatch when an event is being waited for. More...
struct  SupportEvents< Kokkos::HIP >
struct  Event< Kokkos::HIP >
struct  SupportEvents< Kokkos::Experimental::HPX >
struct  Event< Kokkos::Experimental::HPX >
struct  SupportEvents< Kokkos::SYCL >
struct  Event< Kokkos::SYCL >
struct  env
 Inspired by https://github.com/NVIDIA/stdexec/blob/16076a81efa4477513e6ede9c2741fd034ecef99/include/stdexec/__detail/__sync_wait.hpp#L45-L65. More...
struct  State
 Inspired by https://github.com/NVIDIA/stdexec/blob/16076a81efa4477513e6ede9c2741fd034ecef99/include/stdexec/__detail/__sync_wait.hpp#L83-L86. More...
struct  ParallelForSender
struct  ParallelForData

Concepts

concept  has_parallel_policy
 See https://github.com/NVIDIA/stdexec/blob/16076a81efa4477513e6ede9c2741fd034ecef99/include/stdexec/__detail/__bulk.hpp#L100.
concept  event
 Constrain an EventType type to be a valid event type for Exec execution space type.
concept  support_events
concept  dispatching_sender
 Concept that constrains the type of a sender that dispatches a functor for execution.

Typedefs

template<typename Data>
using bulk_traits = BulkTraits<std::remove_cvref_t<Data>>
template<typename Tag, typename Env, typename Value>
using upsert_in_env_t = std::invoke_result_t<UpsertInEnvFn, Tag, Env, Value>
template<typename Tag, typename Env, typename Value>
using upsert_in_env_or_join_t = std::invoke_result_t<UpsertInEnvOrJoinFn, Tag, Env, Value>

Functions

 Event (const Kokkos::Cuda &) -> Event< Kokkos::Cuda >
template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
consteval std::string_view dispatch_label () noexcept
 View the dispatch label as a std::string_view.
template<Kokkos::ExecutionSpace Exec>
void record_event (const Exec &exec, uint64_t &event_id)
void wait_event (const uint64_t event_id)
 Event (const Kokkos::HIP &) -> Event< Kokkos::HIP >
 Event (const Kokkos::Experimental::HPX &) -> Event< Kokkos::Experimental::HPX >
 Event (const Kokkos::SYCL &) -> Event< Kokkos::SYCL >

Variables

template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
static constexpr auto dispatch_label_v
 Get the dispatch label from Exec and Suffix.
constexpr UpsertInEnvFn upsert_in_env {}
constexpr UpsertInEnvOrJoinFn upsert_in_env_or_join {}
static constexpr auto invalid_event_id = Kokkos::Experimental::finite_max_v<uint64_t>

Typedef Documentation

◆ bulk_traits

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

Definition at line 26 of file bulk.hpp.

◆ upsert_in_env_or_join_t

template<typename Tag, typename Env, typename Value>
using Kokkos::Execution::Impl::upsert_in_env_or_join_t = std::invoke_result_t<UpsertInEnvOrJoinFn, Tag, Env, Value>

Definition at line 108 of file env.hpp.

◆ upsert_in_env_t

template<typename Tag, typename Env, typename Value>
using Kokkos::Execution::Impl::upsert_in_env_t = std::invoke_result_t<UpsertInEnvFn, Tag, Env, Value>

Definition at line 103 of file env.hpp.

Function Documentation

◆ dispatch_label()

template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
std::string_view Kokkos::Execution::Impl::dispatch_label ( )
constevalnoexcept

View the dispatch label as a std::string_view.

Definition at line 47 of file dispatch_label.hpp.

References dispatch_label_v.

◆ Event() [1/4]

Kokkos::Execution::Impl::Event ( const Kokkos::Cuda & ) ->Event< Kokkos::Cuda >

◆ Event() [2/4]

Kokkos::Execution::Impl::Event ( const Kokkos::Experimental::HPX & ) ->Event< Kokkos::Experimental::HPX >

◆ Event() [3/4]

Kokkos::Execution::Impl::Event ( const Kokkos::HIP & ) ->Event< Kokkos::HIP >

◆ Event() [4/4]

Kokkos::Execution::Impl::Event ( const Kokkos::SYCL & ) ->Event< Kokkos::SYCL >

◆ record_event()

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

◆ wait_event()

void Kokkos::Execution::Impl::wait_event ( const uint64_t event_id)
inline

Definition at line 69 of file event.hpp.

References Kokkos::utils::callbacks::dispatch().

Variable Documentation

◆ dispatch_label_v

template<Kokkos::ExecutionSpace Exec, FixedString Suffix>
auto Kokkos::Execution::Impl::dispatch_label_v
staticconstexpr
Initial value:
= [] {
constexpr auto prefix = Kokkos::Impl::TypeInfo<Exec>::name();
std::array<char, prefix.size() + Suffix.size() + 1> buf{};
auto iter = buf.begin();
for (auto charac: prefix)
*iter++ = charac;
for (auto charac: Suffix)
*iter++ = charac;
return buf;
}()

Get the dispatch label from Exec and Suffix.

Definition at line 34 of file dispatch_label.hpp.

◆ invalid_event_id

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

Definition at line 43 of file event.hpp.

◆ upsert_in_env

UpsertInEnvFn Kokkos::Execution::Impl::upsert_in_env {}
inlineconstexpr

Definition at line 105 of file env.hpp.

◆ upsert_in_env_or_join

UpsertInEnvOrJoinFn Kokkos::Execution::Impl::upsert_in_env_or_join {}
inlineconstexpr

Definition at line 110 of file env.hpp.