9#include "repositories/SolverRepository.h"
27{%
for item in NAMESPACE -%}
28 namespace {{ item }} {
33{%
for item in NAMESPACE -%}
43class {{NAMESPACE | join(
"::")}}::{{CLASSNAME}}: public ::exahype2::EnclaveTask
45,
public smartmpi::Task
69 int _remoteTaskId = -1;
78 static int _enclaveTaskTypeId;
81 static int getEnclaveTaskTypeId();
98 static void applyKernelToCell(
99 const ::peano4::datamanagement::CellMarker& marker,
102 double* __restrict__ QIn,
103 double* __restrict__ QOut
166 const ::peano4::datamanagement::CellMarker&
marker,
169 const double* __restrict__ linearCombinationOfPreviousShots
173 const ::peano4::datamanagement::CellMarker&
marker,
176 std::shared_ptr< double[] > linearCombinationOfPreviousShots,
177 double* __restrict__ output
181 bool isSmartMPITask()
const;
182 virtual void runLocally()
override;
183 virtual void moveTask(
int rank,
int tag, MPI_Comm communicator)
override;
184 virtual void runLocallyAndSendTaskOutputToRank(
int rank,
int tag, MPI_Comm communicator)
override;
185 virtual void forwardTaskOutputToRank(
int rank,
int tag, MPI_Comm communicator)
override;
187 static smartmpi::Task* receiveTask(
int rank,
int tag, MPI_Comm communicator);
188 static smartmpi::Task* receiveOutcome(
int rank,
int tag, MPI_Comm communicator,
const bool intentionToForward);
191 {%
if STATELESS_PDE_TERMS %}
192 virtual void fuse(
const std::list<Task*>& otherTasks,
int targetDevice=Host )
override;
193 virtual bool canFuse()
const override;
_linearCombinationOfPreviousShots(nullptr)
tarch::logging::Log _log("exahype2::fv")