1#ifndef KOKKOS_EXECUTION_GRAPH_HPP
2#define KOKKOS_EXECUTION_GRAPH_HPP
6#include "Kokkos_Core.hpp"
14template <Kokkos::ExecutionSpace Exec>
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>
GraphImpl::State< Exec > state_t
auto get_scheduler() const noexcept -> GraphImpl::Scheduler< Exec >
stdexec::operation_state_t operation_state_concept
See https://github.com/NVIDIA/stdexec/blob/5076be2b35de2e78330201b888d82c81b8cb428b/include/nvexec/st...
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 &
OpState< Rcvr > connect(Rcvr rcvr) const &noexcept(std::is_nothrow_move_constructible_v< Rcvr >)
stdexec::sender_t sender_concept
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
constexpr auto schedule() const noexcept -> Sender
stdexec::scheduler_t scheduler_concept
As per https://eel.is/c++draft/exec.sched#1.