5 #include "tarch/multicore/orchestration/Strategy.h"
10 class MulticoreOrchestration;
101 virtual void endBSPSection(
int nestedParallelismLevel)
override;
Hard coded strategy for the single black hole setup.
int _finiteVolumeTasksInThisBSPSection
Current number of finite volume tasks that already have been spawned.
virtual bool fuseTasksImmediatelyWhenSpawned(int taskType) override
Ensure Finite Volume tasks end up on GPU asap.
int _nestedBSPLevels
Number of nested fork/join levels.
virtual void startBSPSection(int nestedParallelismLevel) override
Start a fork/join section.
virtual void endBSPSection(int nestedParallelismLevel) override
End fork/join section.
virtual FuseInstruction getNumberOfTasksToFuseAndTargetDevice(int taskType) override
Ensure right cardinality ends up on GPU.
int _maxFiniteVolumeTasks
Maximum number of finite volume tasks in the system.
virtual ExecutionPolicy paralleliseForkJoinSection(int nestedParallelismLevel, int numberOfTasks, int taskType) override
Determine how to parallelise a fork/join section.
virtual int getNumberOfTasksToHoldBack(int taskType) override
How many tasks should be held back.
virtual ~MulticoreOrchestration()=default