1#ifndef KOKKOS_EXECUTION_GRAPH_HPP
2#define KOKKOS_EXECUTION_GRAPH_HPP
6#include "Kokkos_Core.hpp"
20template <Kokkos::ExecutionSpace Exec>
27 template <stdexec::receiver Rcvr>
35 stdexec::set_value(std::move(
rcvr));
46 template <
typename... Env>
49 query(stdexec::get_completion_scheduler_t<stdexec::set_value_t>, Env...) const noexcept ->
Scheduler {
53 template <
typename... Env>
56 query(stdexec::get_completion_domain_t<stdexec::set_value_t>, Env...) const noexcept ->
Domain {
63 template <stdexec::receiver_of<completion_signatures> Rcvr>
66 return {std::move(rcvr)};
69 template <stdexec::receiver_of<completion_signatures> Rcvr>
72 return {std::move(rcvr)};
84 constexpr auto schedule() const noexcept -> Sender {
89 constexpr auto query(stdexec::get_completion_domain_t<stdexec::set_value_t>)
const noexcept ->
Domain {
94 constexpr auto query(stdexec::get_completion_scheduler_t<stdexec::set_value_t>)
const noexcept ->
Scheduler {
107template <Kokkos::ExecutionSpace Exec>
auto get_scheduler() const noexcept -> GraphImpl::Scheduler< Exec >
Impl::State< Exec > state_t
stdexec::operation_state_tag operation_state_concept
See https://github.com/NVIDIA/stdexec/blob/5076be2b35de2e78330201b888d82c81b8cb428b/include/nvexec/st...
Impl::State< Exec > * state
constexpr auto query(stdexec::get_completion_scheduler_t< stdexec::set_value_t >, Env...) const noexcept -> Scheduler
constexpr auto query(stdexec::get_completion_domain_t< stdexec::set_value_t >, Env...) const noexcept -> Domain
OpState< Rcvr > connect(Rcvr rcvr) &&noexcept(std::is_nothrow_move_constructible_v< Rcvr >)
constexpr auto get_env() const noexcept -> const Attributes &
stdexec::sender_tag sender_concept
OpState< Rcvr > connect(Rcvr rcvr) const &noexcept(std::is_nothrow_move_constructible_v< Rcvr >)
stdexec::completion_signatures< stdexec::set_value_t()> completion_signatures
Scheduler for a Kokkos::Experimental::Graph.
constexpr auto query(stdexec::get_completion_domain_t< stdexec::set_value_t >) const noexcept -> Domain
constexpr auto query(stdexec::get_completion_scheduler_t< stdexec::set_value_t >) const noexcept -> Scheduler
friend bool operator==(const Scheduler &, const Scheduler &) noexcept=default
Impl::State< Exec > * state
constexpr auto schedule() const noexcept -> Sender
stdexec::scheduler_t scheduler_concept
As per https://eel.is/c++draft/exec.sched#1.