44 template <
typename Derived>
48 ::Kokkos::abort(
"Default reduce() should never be called. Make sure you properly redefined " 49 "this method in your class without typos.");
51 template <
typename Derived>
52 KOKKOS_FUNCTION
void join(Real * ,
const Real * )
const 54 ::Kokkos::abort(
"Default join() should never be called. Make sure you properly redefined this " 55 "method in your class without typos.");
57 template <
typename Derived>
58 KOKKOS_FUNCTION
void init(Real * )
const 60 ::Kokkos::abort(
"Default init() should never be called. Make sure you properly redefined this " 61 "method in your class without typos.");
69 template <
typename Derived>
72 return &ReducerBase::reduce<Derived>;
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object...
ReducerBase(const MooseObject *object)
virtual ThreadID numReducerThreads() const =0
Get the number of threads.
KOKKOS_FUNCTION void join(Real *, const Real *) const
void allocateReductionBuffer(const unsigned int size)
Allocate reduction buffer.
The Kokkos interface that holds the host reference of the Kokkos systems and copies it to device duri...
The Kokkos interface that holds the host reference of the Kokkos mesh and copies it to device during ...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
KOKKOS_FUNCTION void init(Real *) const
MOOSE_KOKKOS_INDEX_TYPE ThreadID
const MooseObject * _reducer_object
MOOSE object.
Every object that can be built by the factory should be derived from this class.
The Kokkos interface that holds the host reference of the Kokkos assembly and copies it to device dur...
virtual void computeReducer()
Dispatch reduction operation.
KOKKOS_FUNCTION void reduce(Datum &, Real *) const
Default methods to prevent compile errors even when these methods were not defined in the derived cla...
static auto defaultReduce()
Function used to check if users have overriden the hook method.
::Kokkos::View< Real *, ::Kokkos::HostSpace > _reduction_buffer
Reduction buffer.
std::unique_ptr< DispatcherBase > _reducer_dispatcher
Kokkos functor dispatcher.