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

Classes

struct  Scheduler
 Scheduler for a Kokkos execution space. More...
struct  TransformSenderFor< stdexec::bulk_t >
struct  ContinuesOnReceiver
 Receiver for continues_on. More...
struct  ContinuesOnSender
 Sender for continues_on. More...
struct  TransformSenderFor< stdexec::continues_on_t >
struct  Domain
struct  WithExecEnvPolicy
struct  WithoutExecEnvPolicy
struct  ApplySenderFor
struct  TransformSenderFor
struct  ScheduleFromReceiver
struct  OpStateBase
struct  OpState
struct  ParallelForClosure
struct  ParallelForSender
struct  TransformSenderFor< Kokkos::Execution::parallel_for_t >
struct  WithDelegatedSyncPolicy
struct  WithoutDelegatedSyncPolicy
struct  ScheduleFromReceiver< WithDelegatedSyncPolicy, WithoutExecEnvPolicy, Schd, Rcvr >
 Receiver for schedule_from. More...
struct  ScheduleFromReceiver< WithoutDelegatedSyncPolicy, ExecEnvPolicy, Rcvr >
struct  ScheduleFromSender
struct  ScheduleFromSender< WithDelegatedSyncPolicy, Schd, Sndr >
 Sender for schedule_from. More...
struct  ScheduleFromSender< WithoutDelegatedSyncPolicy, Sndr >
struct  TransformSenderFor< stdexec::schedule_from_t >
struct  RegionReceiver
struct  RegionSender
struct  Push
struct  Pop
struct  ScopedRegion
 Helper for Kokkos::Profiling::scoped_region. More...
struct  ExecutionSpaceCompletingSender
struct  ApplySenderFor< stdexec::sync_wait_t >
struct  ThenWrapper
 Inspired by https://github.com/kokkos/kokkos/blob/69273c3a4e7b6adeb95066341ca201d62fe1e698/core/src/impl/Kokkos_GraphNodeThenImpl.hpp#L28. More...
struct  TransformSenderFor< stdexec::then_t >
struct  when_all_t
struct  TransformSenderFor< stdexec::when_all_t >

Concepts

concept  Closure
concept  execution_space_completing_sender
 Concept for a sender whose completion scheduler is Kokkos::Execution::ExecutionSpaceImpl::Scheduler.

Typedefs

template<typename ExecEnvPolicy, typename Env, Kokkos::ExecutionSpace Exec>
using join_env_with_exec_t = decltype(join_env_with_exec<ExecEnvPolicy>(std::declval<Env>(), std::declval<Exec>()))
template<typename ExecEnvPolicy, typename Env>
using extend_env_t = decltype(extend_env<ExecEnvPolicy>(std::declval<Env>()))
template<typename Env>
using exec_env_policy_t
 If Env is queryable with Impl::get_exec_t, use WithExecEnvPolicy.
template<typename Exec, typename Rcvr>
using select_sync_policy_t = decltype(select_sync_policy<Exec, Rcvr>())
template<typename Sndr, typename Rcvr, typename... Clsrs>
using make_opstate_t = Impl::MakeOpState<Domain, OpState>::Huddle<Sndr, Rcvr, Clsrs...>
template<typename Sndr, typename Rcvr, typename... Clsrs>
using opstate_t = typename make_opstate_t<Sndr, Rcvr, Clsrs...>::type

Enumerations

enum class  Kind : std::uint8_t { PUSH , POP }
 Kind of region action. More...

Functions

template<typename Env, Kokkos::ExecutionSpace Exec>
constexpr auto join_env_with_exec (Env &&env, const Exec &exec) noexcept
 Unconditionally join exec to env.
template<typename ExecEnvPolicy, typename Env, Kokkos::ExecutionSpace Exec>
constexpr auto join_env_with_exec (Env &&env, const Exec &exec) noexcept
 Join exec to env if the policy is WithExecEnvPolicy.
template<typename ExecEnvPolicy, typename Env>
constexpr auto extend_env (Env &&env) noexcept
template<typename Exec, typename Rcvr>
consteval auto select_sync_policy ()
template<typename Tag, typename Sndr, typename... Env>
auto no_execution_space_scheduler_in_env () noexcept
 Show a better compile diagnostic when there is no Kokkos::Execution::ExecutionSpaceImpl::Scheduler found.

Typedef Documentation

◆ exec_env_policy_t

Initial value:

If Env is queryable with Impl::get_exec_t, use WithExecEnvPolicy.

Definition at line 55 of file env.hpp.

◆ extend_env_t

template<typename ExecEnvPolicy, typename Env>
using Kokkos::Execution::ExecutionSpaceImpl::extend_env_t = decltype(extend_env<ExecEnvPolicy>(std::declval<Env>()))

Definition at line 51 of file env.hpp.

◆ join_env_with_exec_t

template<typename ExecEnvPolicy, typename Env, Kokkos::ExecutionSpace Exec>
using Kokkos::Execution::ExecutionSpaceImpl::join_env_with_exec_t = decltype(join_env_with_exec<ExecEnvPolicy>(std::declval<Env>(), std::declval<Exec>()))

Definition at line 31 of file env.hpp.

◆ make_opstate_t

template<typename Sndr, typename Rcvr, typename... Clsrs>
using Kokkos::Execution::ExecutionSpaceImpl::make_opstate_t = Impl::MakeOpState<Domain, OpState>::Huddle<Sndr, Rcvr, Clsrs...>

Definition at line 138 of file operation_state.hpp.

◆ opstate_t

template<typename Sndr, typename Rcvr, typename... Clsrs>
using Kokkos::Execution::ExecutionSpaceImpl::opstate_t = typename make_opstate_t<Sndr, Rcvr, Clsrs...>::type

Definition at line 141 of file operation_state.hpp.

◆ select_sync_policy_t

template<typename Exec, typename Rcvr>
using Kokkos::Execution::ExecutionSpaceImpl::select_sync_policy_t = decltype(select_sync_policy<Exec, Rcvr>())

Definition at line 48 of file operation_state.hpp.

Enumeration Type Documentation

◆ Kind

enum class Kokkos::Execution::ExecutionSpaceImpl::Kind : std::uint8_t
strong

Kind of region action.

Enumerator
PUSH 
POP 

Definition at line 29 of file scoped_region.hpp.

Function Documentation

◆ extend_env()

template<typename ExecEnvPolicy, typename Env>
auto Kokkos::Execution::ExecutionSpaceImpl::extend_env ( Env && env)
constexprnoexcept

If the policy is WithExecEnvPolicy, extract the Impl::ExecutionSpaceRef and re-inject it into the environment to extend its availability.

Note
This is not the same intent as using a forwarding query.

Definition at line 40 of file env.hpp.

References Kokkos::Execution::Impl::get_exec.

◆ join_env_with_exec() [1/2]

template<typename ExecEnvPolicy, typename Env, Kokkos::ExecutionSpace Exec>
auto Kokkos::Execution::ExecutionSpaceImpl::join_env_with_exec ( Env && env,
const Exec & exec )
constexprnoexcept

Join exec to env if the policy is WithExecEnvPolicy.

Definition at line 22 of file env.hpp.

References join_env_with_exec().

◆ join_env_with_exec() [2/2]

template<typename Env, Kokkos::ExecutionSpace Exec>
auto Kokkos::Execution::ExecutionSpaceImpl::join_env_with_exec ( Env && env,
const Exec & exec )
constexprnoexcept

Unconditionally join exec to env.

Definition at line 15 of file env.hpp.

References Kokkos::Execution::Impl::get_exec.

◆ no_execution_space_scheduler_in_env()

template<typename Tag, typename Sndr, typename... Env>
auto Kokkos::Execution::ExecutionSpaceImpl::no_execution_space_scheduler_in_env ( )
noexcept

◆ select_sync_policy()

template<typename Exec, typename Rcvr>
auto Kokkos::Execution::ExecutionSpaceImpl::select_sync_policy ( )
consteval

Definition at line 31 of file operation_state.hpp.