Peano
Loading...
Searching...
No Matches
taskfusion.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5
6#include <unordered_set>
7#include <list>
8
12
13
14namespace tarch {
15 namespace multicore {
19 class Task;
20
62 namespace taskfusion {
86
131 Task* task,
132 const std::set<TaskNumber>& inDependencies,
133 const TaskNumber& taskNumber
134 );
135
137 } // namespace taskfusion
138 }
139}
Abstract super class for a job.
Definition Task.h:21
void translateFusableTaskIntoTaskSequence(Task *task, const std::set< TaskNumber > &inDependencies, const TaskNumber &taskNumber)
Translate a single task into a sequence of (fusable tasks)
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
Definition accelerator.h:19
Task queue of tasks which we hold back.
Definition taskfusion.h:66
std::list< std::pair< tarch::multicore::Task *, int > > Tasks
Each task in the queue is identified through a pointer to the task plus a task (dependency) number.
Definition taskfusion.h:74
tarch::multicore::BooleanSemaphore semaphore
Definition taskfusion.h:79
tarch::timing::GlidingAverageMeasurement numberOfPendingReadyTasksPerProcessTaskExecution
Definition taskfusion.h:81
std::unordered_set< int > FinishedTaskNumbers
Definition taskfusion.h:75
ReadyFusableTasks(const ReadyFusableTasks &)=delete