Class TaskPartitionerFactoring
java.lang.Object
org.apache.sysds.runtime.controlprogram.parfor.TaskPartitioner
org.apache.sysds.runtime.controlprogram.parfor.TaskPartitionerFactoring
- Direct Known Subclasses:
TaskPartitionerFactoringCmax,TaskPartitionerFactoringCmin
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
ConstructorsConstructorDescriptionTaskPartitionerFactoring(long taskSize, int numThreads, String iterVarName, IntObject fromVal, IntObject toVal, IntObject incrVal) -
Method Summary
Modifier and TypeMethodDescriptionCreates and returns set of all tasks for given problem at once.longcreateTasks(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
-
Constructor Details
-
TaskPartitionerFactoring
-
-
Method Details
-
createTasks
Description copied from class:TaskPartitionerCreates and returns set of all tasks for given problem at once.- Specified by:
createTasksin classTaskPartitioner- Returns:
- list of tasks
-
createTasks
Description copied from class:TaskPartitionerCreates 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:
createTasksin classTaskPartitioner- Parameters:
queue- queue of takss- Returns:
- ?
-