# Uses of Package
org.apache.sysds.runtime.controlprogram.parfor

- Packages that use org.apache.sysds.runtime.controlprogram.parfor
  Package | Description
  --- | ---
  org.apache.sysds.runtime.controlprogram.parfor |
  org.apache.sysds.runtime.util |

- Classes in org.apache.sysds.runtime.controlprogram.parfor used by org.apache.sysds.runtime.controlprogram.parfor
  Class | Description
  --- | ---
  DataPartitioner | This is the base class for all data partitioner.
  LocalTaskQueue | This class provides a way of dynamic task distribution to multiple workers in local multi-threaded environments.
  ParForBody | Wrapper for exchanging parfor body data structures.
  ParWorker | Super class for master/worker pattern implementations.
  RemoteParForJobReturn | Wrapper for job return of ParFor REMOTE for transferring statistics and result symbol table.
  ResultMerge |
  ResultMergeMatrix | Due to independence of all iterations, any result has the following properties: (1) non local var, (2) matrix object, and (3) completely independent.
  ResultMergeTaggedMatrixIndexes | This class serves as composite key for the remote result merge job (for any data format) in order to sort on both matrix indexes and tag but group all blocks according to matrix indexes only.
  Task | A task is a logical group of one or multiple iterations (each iteration is assigned to exactly one task).
  Task.TaskType |
  TaskPartitioner | This is the base class for all task partitioner.
  TaskPartitionerFactoring | This factoring task partitioner virtually iterates over the given FOR loop (from, to, incr), creates iterations and group them to tasks.
  TaskPartitionerFixedsize | This naive task partitioner virtually iterates over the given FOR loop (from, to, incr), creates iterations and group them to tasks according to the given task size.

- Classes in org.apache.sysds.runtime.controlprogram.parfor used by org.apache.sysds.runtime.util
  Class | Description
  --- | ---
  ParForBody | Wrapper for exchanging parfor body data structures.