Class 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 Detail

      • TaskPartitionerFactoring

        public TaskPartitionerFactoring​(long taskSize,
                                        int numThreads,
                                        String iterVarName,
                                        IntObject fromVal,
                                        IntObject toVal,
                                        IntObject incrVal)
    • Method Detail

      • 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 class TaskPartitioner
        queue - queue of takss