kokkos-execution
0.0.1
Loading...
Searching...
No Matches
bulk.hpp
Go to the documentation of this file.
1
#ifndef KOKKOS_EXECUTION_IMPL_BULK_HPP
2
#define KOKKOS_EXECUTION_IMPL_BULK_HPP
3
4
#include "stdexec/execution.hpp"
5
6
namespace
Kokkos::Execution::Impl
{
7
9
template
<
typename
Data>
10
concept
has_parallel_policy
=
requires
(
const
Data& data) {
11
{ data.__pol_ } -> std::same_as<const stdexec::__bulk::__policy_wrapper<stdexec::parallel_policy>&>;
12
};
13
15
template
<
typename
...>
16
struct
BulkTraits
;
17
18
template
<
typename
Policy,
typename
Shape,
typename
Functor>
19
struct
BulkTraits<stdexec::__bulk::__data<Policy, Shape, Functor>
> {
20
using
policy_t
= Policy;
21
using
shape_t
= Shape;
22
using
functor_t
= Functor;
23
};
24
25
template
<
typename
Data>
26
using
bulk_traits
=
BulkTraits<std::remove_cvref_t<Data>
>;
27
28
}
// namespace Kokkos::Execution::Impl
29
30
#endif
// KOKKOS_EXECUTION_IMPL_BULK_HPP
Kokkos::Execution::Impl::has_parallel_policy
See https://github.com/NVIDIA/stdexec/blob/16076a81efa4477513e6ede9c2741fd034ecef99/include/stdexec/_...
Definition
bulk.hpp:10
Kokkos::Execution::Impl
Definition
attributes.hpp:6
Kokkos::Execution::Impl::bulk_traits
BulkTraits< std::remove_cvref_t< Data > > bulk_traits
Definition
bulk.hpp:26
Kokkos::Execution::Impl::BulkTraits< stdexec::__bulk::__data< Policy, Shape, Functor > >::policy_t
Policy policy_t
Definition
bulk.hpp:20
Kokkos::Execution::Impl::BulkTraits< stdexec::__bulk::__data< Policy, Shape, Functor > >::functor_t
Functor functor_t
Definition
bulk.hpp:22
Kokkos::Execution::Impl::BulkTraits< stdexec::__bulk::__data< Policy, Shape, Functor > >::shape_t
Shape shape_t
Definition
bulk.hpp:21
Kokkos::Execution::Impl::BulkTraits
Extract the policy, shape and functor type of bulk data.
Definition
bulk.hpp:16
kokkos-execution
impl
bulk.hpp
Generated on
for kokkos-execution by
1.15.0