9#include "repositories/SolverRepository.h"
26{%
for item in NAMESPACE -%}
27 namespace {{ item }} {
32{%
for item in NAMESPACE -%}
43class {{NAMESPACE | join(
"::")}}::{{CLASSNAME}}: public ::exahype2::EnclaveTask
45,
public smartmpi::Task
69 int _remoteTaskId = -1;
76 static int _enclaveTaskTypeId;
79 static int getEnclaveTaskTypeId();
95 static double applyKernelToCell(
96 const ::peano4::datamanagement::CellMarker& marker,
99 double* __restrict__ reconstructedPatch,
100 double* __restrict__ targetPatch
112 const ::peano4::datamanagement::CellMarker&
marker,
115 double* __restrict__ reconstructedPatch,
116 double* __restrict__ output
121 virtual bool isSmartMPITask()
const override;
122 virtual void runLocally()
override;
123 virtual void moveTask(
int rank,
int tag, MPI_Comm communicator)
override;
124 virtual void runLocallyAndSendTaskOutputToRank(
int rank,
int tag, MPI_Comm communicator)
override;
125 virtual void forwardTaskOutputToRank(
int rank,
int tag, MPI_Comm communicator)
override;
127 static smartmpi::Task* receiveTask(
int rank,
int tag, MPI_Comm communicator);
128 static smartmpi::Task* receiveOutcome(
int rank,
int tag, MPI_Comm communicator,
const bool intentionToForward);
131 {%
if STATELESS_PDE_TERMS %}
132 virtual void fuse(
const std::list<Task*>& otherTasks,
int targetDevice=Host )
override;
133 virtual bool canFuse()
const override;
tarch::logging::Log _log("exahype2::fv")