36 template <
typename Derived>
38 operator()(ReducerLoop,
const ThreadID tid,
const Derived & reducer, Real * result)
const;
41template <
typename Derived>
45 const Derived & reducer,
52 reducer.template reduce<Derived>(datum, result);
An interface that restricts an object to subdomains via the 'blocks' input parameter.
KOKKOS_FUNCTION dof_id_type numKokkosBlockElements() const
Get the number of elements this Kokkos object is operating on.
KOKKOS_FUNCTION ContiguousElementID kokkosBlockElementID(Moose::Kokkos::ThreadID tid) const
Get the contiguous element ID this Kokkos thread is operating on.
Every object that can be built by the factory should be derived from this class.
KOKKOS_FUNCTION const Assembly & kokkosAssembly() const
Get the const reference of the Kokkos assembly.
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object.
ElementReducer(const ElementReducer &object)
Copy constructor for parallel dispatch.
KOKKOS_FUNCTION void operator()(ReducerLoop, const ThreadID tid, const Derived &reducer, Real *result) const
The parallel computation entry function called by Kokkos.
ElementReducer(const MooseObject *object)
virtual ThreadID numReducerThreads() const override
Get the number of threads.
static InputParameters validParams()
MOOSE_KOKKOS_INDEX_TYPE ThreadID
const unsigned int invalid_uint