7 namespace orchestration {
53 return "(#device=" + std::to_string(
device) +
",min=" + std::to_string(
minTasks)
54 +
",max=" + std::to_string(
maxTasks) +
")";
Interface for any task orchestration.
static constexpr int EndOfBSPSection
virtual FuseInstruction fuse(int taskType)=0
How many tasks shall system hold back from tasking runtime in user-defined queues.
virtual ~Strategy()=default
virtual ExecutionPolicy paralleliseForkJoinSection(int nestedParallelismLevel, int numberOfTasks, int taskType)=0
Determine how to handle/realise parallelisation within fork/join region.
virtual void startBSPSection(int nestedParallelismLevel)=0
Notifies the strategy that we enter a BSP section.
virtual void endBSPSection(int nestedParallelismLevel)=0
Notifies the strategy that we leave a BSP (fork-join) section.
ExecutionPolicy
Provide hint of execution policy.
Strategy * createDefaultStrategy()
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
std::string toString() const
FuseInstruction(int device_, int minTasks_, int maxTasks_)