28 static constexpr int Host = -1;
66 Task(
int taskType,
int priority);
89 virtual bool run() = 0;
136 virtual bool fuse(
const std::list<Task*>& otherTasks,
int targetDevice =
Host);
138 virtual std::string
toString()
const;
208 std::string _taskDescription;
224 const std::function<
bool()>& taskFunctor
226 ,
const std::string& taskDescription =
""
230 virtual bool run()
override;
232 virtual std::string
toString()
const override;
252 virtual bool run()
override;
254 virtual std::string
toString()
const override;
286 virtual bool run()
override;
bool operator<(const tarch::multicore::Task &lhs, const tarch::multicore::Task &rhs)
virtual bool run() override
virtual std::string toString() const override
Helper class if you wanna administer tasks with in a queue.
bool operator()(const Task &lhs, const Task &rhs) const
Frequently used implementation for job with a functor.
virtual std::string toString() const override
std::function< bool()> _taskFunctor
See the outer class description for an explanation why this is an attribute, i.e.
TaskWithCopyOfFunctor()=delete
TaskWithCopyOfFunctor(const TaskWithCopyOfFunctor &)=delete
virtual bool run() override
Frequently used implementation for job with a functor.
TaskWithoutCopyOfFunctor(const TaskWithoutCopyOfFunctor &)=delete
std::function< bool()> & _taskFunctor
See the outer class description for an explanation why this is an attribute, i.e.
virtual bool run() override
TaskWithoutCopyOfFunctor()=delete
Abstract super class for a job.
virtual std::string toString() const
virtual bool canFuse() const
static constexpr int Host
Task(int taskType, int priority)
Construct task.
static constexpr int DontFuse
static constexpr int DefaultPriority
virtual bool fuse(const std::list< Task * > &otherTasks, int targetDevice=Host)
Fuse multiple tasks.
void setPriority(int priority)
Set priority.
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.