kokkos-execution
0.0.1
Loading...
Searching...
No Matches
continues_on.hpp
Go to the documentation of this file.
1
#ifndef KOKKOS_EXECUTION_IMPL_CONTINUES_ON_HPP
2
#define KOKKOS_EXECUTION_IMPL_CONTINUES_ON_HPP
3
4
#include "
kokkos-execution/impl/dependency.hpp
"
5
#include "
kokkos-execution/impl/empty.hpp
"
6
#include "
kokkos-execution/impl/submitted.hpp
"
7
8
namespace
Kokkos::Execution::Impl::ContinuesOn
{
9
10
template
<
typename
InnerOp,
typename
ExecTo>
11
struct
DependencyFor
{
12
using
type
=
Impl::Empty
;
13
};
14
15
template
<
typename
InnerOp,
typename
ExecTo>
16
requires
Impl::signals_submitted<InnerOp>
17
struct
DependencyFor
<InnerOp, ExecTo> {
18
using
type
=
Impl::Dependency<ExecTo, Impl::exec_of_t<InnerOp>
>;
19
};
20
21
template
<
typename
InnerOp,
typename
ExecTo>
22
using
dependency_for_t
=
typename
DependencyFor<InnerOp, ExecTo>::type
;
23
24
template
<
typename
InnerOp,
typename
ExecTo,
typename
Rcvr>
25
concept
signals_submitted
=
Impl::signals_submitted<InnerOp>
&& std::same_as<ExecTo, Impl::exec_of_t<InnerOp>>
26
&&
Impl::supports_submitted_order_on<Rcvr>
;
27
28
template
<
typename
InnerOp,
typename
ExecTo,
typename
Rcvr>
29
using
completion_signal_policy_t
= std::conditional_t<
30
ContinuesOn::signals_submitted<InnerOp, ExecTo, Rcvr>
,
31
Impl::SubmittedPolicy::OrderOnExec
,
32
Impl::SyncPolicy::InlineFenceExec
33
>;
34
35
}
// namespace Kokkos::Execution::Impl::ContinuesOn
36
37
#endif
// KOKKOS_EXECUTION_IMPL_CONTINUES_ON_HPP
Kokkos::Execution::Impl::ContinuesOn::signals_submitted
Definition
continues_on.hpp:25
Kokkos::Execution::Impl::signals_submitted
Definition
submitted.hpp:33
Kokkos::Execution::Impl::supports_submitted_order_on
Definition
submitted.hpp:19
dependency.hpp
empty.hpp
Kokkos::Execution::Impl::ContinuesOn
Definition
continues_on.hpp:8
Kokkos::Execution::Impl::ContinuesOn::dependency_for_t
typename DependencyFor< InnerOp, ExecTo >::type dependency_for_t
Definition
continues_on.hpp:22
Kokkos::Execution::Impl::ContinuesOn::completion_signal_policy_t
std::conditional_t< ContinuesOn::signals_submitted< InnerOp, ExecTo, Rcvr >, Impl::SubmittedPolicy::OrderOnExec, Impl::SyncPolicy::InlineFenceExec > completion_signal_policy_t
Definition
continues_on.hpp:29
Kokkos::Execution::Impl::ContinuesOn::DependencyFor< InnerOp, ExecTo >::type
Impl::Dependency< ExecTo, Impl::exec_of_t< InnerOp > > type
Definition
continues_on.hpp:18
Kokkos::Execution::Impl::ContinuesOn::DependencyFor
Definition
continues_on.hpp:11
Kokkos::Execution::Impl::ContinuesOn::DependencyFor::type
Impl::Empty type
Definition
continues_on.hpp:12
Kokkos::Execution::Impl::Dependency
This is the default implementation.
Definition
dependency.hpp:31
Kokkos::Execution::Impl::Empty
Definition
empty.hpp:6
Kokkos::Execution::Impl::SubmittedPolicy::OrderOnExec
Definition
completion_signal.hpp:166
Kokkos::Execution::Impl::SyncPolicy::InlineFenceExec
Definition
completion_signal.hpp:70
submitted.hpp
kokkos-execution
impl
continues_on.hpp
Generated on
for kokkos-execution by
1.15.0