Typedefs | |
template<class DDim , class MemorySpace > | |
using | ddim_impl_t = typename DDim::template Impl< MemorySpace > |
template<class Reducer > | |
using | ddc_to_kokkos_reducer_t = typename ddc_to_kokkos_reducer< Reducer >::type |
Alias template to transform a DDC reducer type to a Kokkos reducer type. More... | |
Functions | |
template<class... Tags> | |
constexpr std::array< DiscreteElementType, sizeof...(Tags)> & | array (DiscreteElement< Tags... > &v) noexcept |
Returns a reference to the underlying std::array More... | |
template<class... Tags> | |
constexpr std::array< DiscreteElementType, sizeof...(Tags)> const & | array (DiscreteElement< Tags... > const &v) noexcept |
Returns a reference to the underlying std::array More... | |
void | display_discretization_store (std::ostream &os) |
template<class Tuple , std::size_t... Ids> | |
auto | extract_after (Tuple &&t, std::index_sequence< Ids... >) |
template<class... Tags> | |
constexpr std::array< DiscreteVectorElement, sizeof...(Tags)> & | array (DiscreteVector< Tags... > &v) noexcept |
Returns a reference to the underlying std::array More... | |
template<class... Tags> | |
constexpr std::array< DiscreteVectorElement, sizeof...(Tags)> const & | array (DiscreteVector< Tags... > const &v) noexcept |
Returns a reference to the underlying std::array More... | |
template<class ExecSpace , class Functor , class DDim0 > | |
void | for_each_kokkos (DiscreteDomain< DDim0 > const &domain, Functor const &f) noexcept |
template<class ExecSpace , class Functor , class DDim0 , class DDim1 , class... DDims> | |
void | for_each_kokkos (DiscreteDomain< DDim0, DDim1, DDims... > const &domain, Functor &&f) noexcept |
template<class RetType , class Element , std::size_t N, class Functor , class... Is> | |
void | for_each_serial (std::array< Element, N > const &begin, std::array< Element, N > const &end, Functor const &f, Is const &... is) noexcept |
template<class... DDims, class T , class BinaryReductionOp , class UnaryTransformOp , class... DCoords> | |
T | transform_reduce_serial (DiscreteDomain< DDims... > const &domain, [[maybe_unused]] T const neutral, BinaryReductionOp const &reduce, UnaryTransformOp const &transform, DCoords const &... dcoords) noexcept |
A serial reduction over a nD domain. More... | |
template<class ExecSpace , class DDim0 , class T , class BinaryReductionOp , class UnaryTransformOp > | |
T | transform_reduce_kokkos (DiscreteDomain< DDim0 > const &domain, T neutral, BinaryReductionOp const &reduce, UnaryTransformOp const &transform) noexcept |
A parallel reduction over a nD domain using the default Kokkos execution space. More... | |
template<class ExecSpace , class DDim0 , class DDim1 , class... DDims, class T , class BinaryReductionOp , class UnaryTransformOp > | |
T | transform_reduce_kokkos (DiscreteDomain< DDim0, DDim1, DDims... > const &domain, T neutral, BinaryReductionOp const &reduce, UnaryTransformOp const &transform) noexcept |
A parallel reduction over a nD domain using the default Kokkos execution space. More... | |
Variables | |
std::optional< std::map< std::string, std::function< void()> > > | g_discretization_store |
template<class DDim > | |
std::optional< DualDiscretization< DDim > > | g_discrete_space_dual |
struct ddc::ddc_detail::Selection |
struct ddc::ddc_detail::ddc_to_kokkos_reducer |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::sum< T > > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::prod< T > > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::land > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::lor > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::band< T > > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::bor< T > > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::bxor< T > > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::min< T > > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::max< T > > |
struct ddc::ddc_detail::ddc_to_kokkos_reducer< reducer::minmax< T > > |
using ddc::ddc_detail::ddim_impl_t = typedef typename DDim::template Impl<MemorySpace> |
using ddc::ddc_detail::ddc_to_kokkos_reducer_t = typedef typename ddc_to_kokkos_reducer<Reducer>::type |
Alias template to transform a DDC reducer type to a Kokkos reducer type.
|
inlineconstexprnoexcept |
Returns a reference to the underlying std::array
|
inlineconstexprnoexcept |
Returns a reference to the underlying std::array
|
inline |
auto ddc::ddc_detail::extract_after | ( | Tuple && | t, |
std::index_sequence< Ids... > | |||
) |
|
inlineconstexprnoexcept |
Returns a reference to the underlying std::array
|
inlineconstexprnoexcept |
Returns a reference to the underlying std::array
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
A serial reduction over a nD domain.
[in] | domain | the range over which to apply the algorithm |
[in] | neutral | the neutral element of the reduction operation |
[in] | reduce | a binary FunctionObject that will be applied in unspecified order to the results of transform, the results of other reduce and neutral. |
[in] | transform | a unary FunctionObject that will be applied to each element of the input range. The return type must be acceptable as input to reduce |
[in] | dcoords | discrete elements from dimensions already in a loop |
|
inlinenoexcept |
A parallel reduction over a nD domain using the default Kokkos execution space.
[in] | domain | the range over which to apply the algorithm |
[in] | neutral | the neutral element of the reduction operation |
[in] | reduce | a binary FunctionObject that will be applied in unspecified order to the results of transform, the results of other reduce and neutral. |
[in] | transform | a unary FunctionObject that will be applied to each element of the input range. The return type must be acceptable as input to reduce |
|
inlinenoexcept |
A parallel reduction over a nD domain using the default Kokkos execution space.
[in] | domain | the range over which to apply the algorithm |
[in] | neutral | the neutral element of the reduction operation |
[in] | reduce | a binary FunctionObject that will be applied in unspecified order to the results of transform, the results of other reduce and neutral. |
[in] | transform | a unary FunctionObject that will be applied to each element of the input range. The return type must be acceptable as input to reduce |
|
inline |
|
inline |