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