kokkos-execution
0.0.1
Toggle main menu visibility
Loading...
Searching...
No Matches
graph_fwd.hpp
Go to the documentation of this file.
1
#ifndef KOKKOS_EXECUTION_GRAPH_GRAPH_FWD_HPP
2
#define KOKKOS_EXECUTION_GRAPH_GRAPH_FWD_HPP
3
4
#include "
kokkos-execution/stdexec.hpp
"
5
6
#include "Kokkos_Macros.hpp"
7
#ifdef KOKKOS_ENABLE_EXPERIMENTAL_CXX20_MODULES
8
import
kokkos.core;
9
#else
10
# include "Kokkos_Concepts.hpp"
11
#endif
12
13
#include "
kokkos-execution/graph/diagnostics.hpp
"
14
#include "
kokkos-execution/impl/diagnostics.hpp
"
15
16
namespace
Kokkos::Execution
{
17
18
template
<Kokkos::ExecutionSpace Exec>
19
struct
GraphContext
;
20
21
}
// namespace Kokkos::Execution
22
23
namespace
Kokkos::Execution::GraphImpl
{
24
25
template
<
typename
Tag>
26
struct
ApplySenderFor
;
27
28
template
<
typename
Tag>
29
struct
TransformSenderFor
;
30
31
struct
Domain
;
32
33
template
<Kokkos::ExecutionSpace Exec>
34
struct
Scheduler
;
35
36
template
<stdexec::operation_state OpState, Kokkos::ExecutionSpace Exec>
37
struct
GraphOperationStateFor
:
public
std::false_type { };
38
39
template
<
typename
OpState,
typename
Exec>
40
concept
graph_operation_state_for
= stdexec::operation_state<OpState> && Kokkos::ExecutionSpace<Exec>
41
&&
GraphOperationStateFor<OpState, Exec>::value
;
42
43
template
<stdexec::operation_state OpState, Kokkos::ExecutionSpace Exec>
44
struct
RemainsOnGraphFor
:
public
std::false_type {
45
static
constexpr
auto
diagnose
() noexcept {
46
return
stdexec::__mexception<
47
stdexec::_WHAT_(OPERATION_STATE_DOES_NOT_REMAIN_ON_GRAPH),
48
Impl::WITH_OPSTATE<OpState>
,
49
Impl::WITH_EXECUTION_SPACE<Exec>
50
>{};
51
}
52
};
53
54
template
<
typename
OpState,
typename
Exec>
55
concept
remains_on_graph_for
= stdexec::operation_state<OpState> && Kokkos::ExecutionSpace<Exec>
56
&&
RemainsOnGraphFor<OpState, Exec>::value
;
57
63
template
<
typename
Exec,
typename
Sndr,
typename
Rcvr>
64
concept
connect_result_remains_on_graph_for
= Kokkos::ExecutionSpace<Exec> && stdexec::sender<Sndr>
65
&& stdexec::receiver<Rcvr>
66
&&
remains_on_graph_for<stdexec::connect_result_t<Sndr, Rcvr>
, Exec>;
67
68
}
// namespace Kokkos::Execution::GraphImpl
69
70
#endif
// KOKKOS_EXECUTION_GRAPH_GRAPH_FWD_HPP
Kokkos::Execution::GraphImpl::connect_result_remains_on_graph_for
Definition
graph_fwd.hpp:64
Kokkos::Execution::GraphImpl::graph_operation_state_for
Definition
graph_fwd.hpp:40
Kokkos::Execution::GraphImpl::remains_on_graph_for
Definition
graph_fwd.hpp:55
diagnostics.hpp
diagnostics.hpp
stdexec.hpp
Kokkos::Execution::GraphImpl
Definition
graph.hpp:26
Kokkos::Execution
Definition
execution_space.hpp:26
Kokkos::Execution::GraphContext
Execution context using Kokkos::Experimental::Graph under the hood.
Definition
graph.hpp:123
Kokkos::Execution::GraphImpl::ApplySenderFor
Definition
graph_fwd.hpp:26
Kokkos::Execution::GraphImpl::Domain
Definition
domain.hpp:13
Kokkos::Execution::GraphImpl::GraphOperationStateFor
Definition
graph_fwd.hpp:37
Kokkos::Execution::GraphImpl::RemainsOnGraphFor
Definition
graph_fwd.hpp:44
Kokkos::Execution::GraphImpl::RemainsOnGraphFor::diagnose
static constexpr auto diagnose() noexcept
Definition
graph_fwd.hpp:45
Kokkos::Execution::GraphImpl::Scheduler
Scheduler for a Kokkos::Experimental::Graph.
Definition
graph.hpp:30
Kokkos::Execution::GraphImpl::TransformSenderFor
Definition
graph_fwd.hpp:29
Kokkos::Execution::Impl::WITH_EXECUTION_SPACE
Tag to be used to signal an execution space.
Definition
diagnostics.hpp:24
Kokkos::Execution::Impl::WITH_OPSTATE
Definition
diagnostics.hpp:16
kokkos-execution
graph
graph_fwd.hpp
Generated on
for kokkos-execution by
1.18.0