11 #ifndef __Panzer_DOFManager_Functors_hpp__
12 #define __Panzer_DOFManager_Functors_hpp__
14 #include "Kokkos_Core.hpp"
15 #include "Phalanx_KokkosDeviceTypes.hpp"
18 namespace dof_functors {
21 template <
typename ReductionDataType,
typename view_t>
23 using policy_t = Kokkos::MDRangePolicy<typename view_t::execution_space, Kokkos::Rank<2>>;
27 void apply(ReductionDataType& sum)
const
29 const auto& values_ref =
values;
31 Kokkos::parallel_reduce(
33 KOKKOS_LAMBDA(
const typename policy_t::index_type indexi,
const typename policy_t::index_type indexj, ReductionDataType& local_sum)
35 local_sum += values_ref(indexi, indexj);
37 Kokkos::Sum<ReductionDataType>(sum)
Sums all entries of a Rank 2 Kokkos View.
Kokkos::MDRangePolicy< typename view_t::execution_space, Kokkos::Rank< 2 >> policy_t
void apply(ReductionDataType &sum) const