36 template <
typename Derived>
38 operator()(ReducerLoop,
const ThreadID tid,
const Derived & reducer, Real * result)
const;
41 template <
typename Derived>
45 const Derived & reducer,
52 reducer.template reduce<Derived>(datum, result);
A class for requiring an object to be boundary restricted.
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object...
KOKKOS_FUNCTION const Assembly & kokkosAssembly() const
Get the const reference of the Kokkos assembly.
SideReducer(const MooseObject *moose_object)
virtual ThreadID numReducerThreads() const override
Get the number of threads.
MOOSE_KOKKOS_INDEX_TYPE ThreadID
Every object that can be built by the factory should be derived from this class.
KOKKOS_FUNCTION void operator()(ReducerLoop, const ThreadID tid, const Derived &reducer, Real *result) const
The parallel computation entry function called by Kokkos.
static InputParameters validParams()
KOKKOS_FUNCTION auto kokkosBoundaryElementSideID(Moose::Kokkos::ThreadID tid) const
Get the contiguous element ID - side index pair this Kokkos thread is operating on.
KOKKOS_FUNCTION dof_id_type numKokkosBoundarySides() const
Get the number of sides this Kokkos object is operating on.
KOKKOS_FUNCTION const Array< System > & kokkosSystems() const
Get the const reference of the Kokkos systems.