kokkos-execution 0.0.1
Loading...
Searching...
No Matches
operation_state.hpp File Reference

Go to the source code of this file.

Classes

struct  Kokkos::Execution::GraphImpl::State< GraphComposition::Attach, Exec >
 If the graph composition policy is GraphComposition::Attach, nothing needs to be stored. More...
struct  Kokkos::Execution::GraphImpl::State< GraphComposition::Create, Exec >
 If the graph composition policy is GraphComposition::Create, the device handle is already stored by the graph itself. More...
struct  Kokkos::Execution::GraphImpl::OpStateBase< Exec, Rcvr >
 Operation state whose sole purpose is to propagate the completion signal. More...
struct  Kokkos::Execution::GraphImpl::OpState< Sndr, Rcvr, FirstClosure, RestOfClosures >
 Operation state that adds all closures as a sequence of nodes. More...

Namespaces

namespace  Kokkos
namespace  Kokkos::Execution
namespace  Kokkos::Execution::GraphImpl

Concepts

concept  Kokkos::Execution::GraphImpl::Closure

Macros

#define KOKKOS_EXECUTION_GRAPH_OPERATION_STATE_CONNECT
#define KOKKOS_EXECUTION_IMPL_GRAPH_ADD_NODE_DEBUG_LOGGING(_type_, _node_, _predecessor_)

Typedefs

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

Functions

template<typename Predecessor, Closure FirstClosure, Closure... RestOfClosures>
requires NodeRef<std::remove_cvref_t<Predecessor>>
static auto Kokkos::Execution::GraphImpl::add_nodes (Predecessor &&predecessor, FirstClosure &&clsr, RestOfClosures &&... clsrs)
 Add all nodes as a sequence. Hence, only the first node may be added after the root node.

Macro Definition Documentation

◆ KOKKOS_EXECUTION_GRAPH_OPERATION_STATE_CONNECT

#define KOKKOS_EXECUTION_GRAPH_OPERATION_STATE_CONNECT
Value:
template <stdexec::receiver Rcvr> \
constexpr auto connect(Rcvr rcvr) && noexcept(noexcept(make_opstate_t<Sndr, Rcvr, closure_t>{}( \
std::declval<Sndr>(), std::declval<Rcvr>(), std::declval<closure_t>()))) -> opstate_t<Sndr, Rcvr, closure_t> { \
return make_opstate_t<Sndr, Rcvr, closure_t>{}(std::forward<Sndr>(sndr), std::move(rcvr), std::move(clsr)); \
}

Definition at line 215 of file operation_state.hpp.

◆ KOKKOS_EXECUTION_IMPL_GRAPH_ADD_NODE_DEBUG_LOGGING

#define KOKKOS_EXECUTION_IMPL_GRAPH_ADD_NODE_DEBUG_LOGGING ( _type_,
_node_,
_predecessor_ )

Definition at line 228 of file operation_state.hpp.