16 class EnclaveBookkeeping;
102 const ::peano4::datamanagement::CellMarker
_marker;
146 int enclaveTaskTypeId,
147 const ::peano4::datamanagement::CellMarker& marker,
150 double* __restrict__ inputValues,
151 double* __restrict__ outputValues,
152 int numberOfInputValues,
153 int numberOfResultValues,
165 virtual void run()
override;
Base class for all enclave tasks.
EnclaveTask(const EnclaveTask &other)=delete
std::function< void()> Functor
static tarch::logging::Log _log
virtual void run() override
Computes a task and bookmarks the outcome.
EnclaveTask(const EnclaveTask &&other)=delete
virtual ~EnclaveTask()=default
int _numberOfResultValues
double *__restrict__ _inputValues
const int _taskNumber
Each task needs a unique number, so we can look up its output.
static int getNumberOfActiveTasks()
EnclaveTask(int enclaveTaskTypeId, const ::peano4::datamanagement::CellMarker &marker, double t, double dt, double *__restrict__ inputValues, double *__restrict__ outputValues, int numberOfInputValues, int numberOfResultValues, Functor functor)
Create plain enclave task.
void computeTask()
Compute the task.
double *__restrict__ _outputValues
static int reserveTaskNumber()
Reserve a new enclave task number.
const double _t
These are the reconstructed values in the Finite Volume sense and the linear combination in the DG so...
const ::peano4::datamanagement::CellMarker _marker
static void releaseTaskNumber(int number)
int getTaskId() const
Return _taskNumber.
static tarch::multicore::TaskEnumerator _enumerator
Rank-global enumerator for tasks.
Abstract super class for a job.
This file is part of the multigrid project within Peano 4.