46 template <
typename Derived>
49 ::Kokkos::abort(
"Default reduce() should never be called. Make sure you properly redefined "
50 "this method in your class without typos.");
52 template <
typename Derived>
53 KOKKOS_FUNCTION
void join(Real * ,
const Real * )
const
55 ::Kokkos::abort(
"Default join() should never be called. Make sure you properly redefined this "
56 "method in your class without typos.");
58 template <
typename Derived>
59 KOKKOS_FUNCTION
void init(Real * )
const
61 ::Kokkos::abort(
"Default init() should never be called. Make sure you properly redefined this "
62 "method in your class without typos.");
70 template <
typename Derived>
73 return &ReducerBase::reduce<Derived>;
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
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...
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object.
The Kokkos interface that holds the host reference of the Kokkos mesh and copies it to device during ...
const MooseObject * _reducer_object
MOOSE object.
KOKKOS_FUNCTION void reduce(Datum &, Real *) const
Default methods to prevent compile errors even when these methods were not defined in the derived cla...
KOKKOS_FUNCTION void init(Real *) const
std::unique_ptr< DispatcherBase > _reducer_dispatcher
Kokkos functor dispatcher.
ReducerBase(const MooseObject *object)
void allocateReductionBuffer(const unsigned int size)
Allocate reduction buffer.
virtual void computeReducer()
Dispatch reduction operation.
KOKKOS_FUNCTION void join(Real *, const Real *) const
ReducerBase(const ReducerBase &reducer)
Copy constructor for parallel dispatch.
static auto defaultReduce()
Function used to check if users have overriden the hook method.
::Kokkos::View< Real *, ::Kokkos::HostSpace > _reduction_buffer
Reduction buffer.
virtual ThreadID numReducerThreads() const =0
Get the number of threads.
MOOSE_KOKKOS_INDEX_TYPE ThreadID