Class TaskPartitionerFactoring
- java.lang.Object
-
- org.apache.sysds.runtime.controlprogram.parfor.TaskPartitioner
-
- org.apache.sysds.runtime.controlprogram.parfor.TaskPartitionerFactoring
-
- Direct Known Subclasses:
TaskPartitionerFactoringCmax
,TaskPartitionerFactoringCmin
public class TaskPartitionerFactoring extends TaskPartitioner
This factoring task partitioner virtually iterates over the given FOR loop (from, to, incr), creates iterations and group them to tasks. Note that the task size is used here. The tasks are created with decreasing size for good load balance of heterogeneous tasks. See the original paper for details: [Susan Flynn Hummel, Edith Schonberg, Lawrence E. Flynn: Factoring: a practical and robust method for scheduling parallel loops. SC 1991: 610-632]
-
-
Constructor Summary
Constructors Constructor Description TaskPartitionerFactoring(long taskSize, int numThreads, String iterVarName, IntObject fromVal, IntObject toVal, IntObject incrVal)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Task>
createTasks()
Creates and returns set of all tasks for given problem at once.long
createTasks(LocalTaskQueue<Task> queue)
Creates set of all tasks for given problem, but streams them directly into task queue.-
Methods inherited from class org.apache.sysds.runtime.controlprogram.parfor.TaskPartitioner
getNumIterations
-
-
-
-
Method Detail
-
createTasks
public List<Task> createTasks()
Description copied from class:TaskPartitioner
Creates and returns set of all tasks for given problem at once.- Specified by:
createTasks
in classTaskPartitioner
- Returns:
- list of tasks
-
createTasks
public long createTasks(LocalTaskQueue<Task> queue)
Description copied from class:TaskPartitioner
Creates set of all tasks for given problem, but streams them directly into task queue. This allows for more tasks than fitting in main memory.- Specified by:
createTasks
in classTaskPartitioner
- Parameters:
queue
- queue of takss- Returns:
- ?
-
-