next up previous contents
Next: Active Processor Sets Up: HPF Approved Extensions Previous: Characteristics of Procedures

Approved Extensions for Data and Task Parallelism

Modern parallel machines achieve their best performance if operations are performed by many processors with each processor accessing its own data. As such, the highest-performing programs will be those for which the computation partitioning and data mapping work in synergy. Three approved extensions provide the means to exploit this symmetry:

  1. The ON directive partitions computations among the processors of a parallel machine (much as the DISTRIBUTE directive partitions the data among the processors).
  2. The RESIDENT directive asserts that certain data accesses do not require interprocessor data movement for their implementation.
  3. The TASK_REGION construct provides the means to create independent coarse-grain tasks, each of which can itself execute a data-parallel (or nested task-parallel) computation.
All three constructs are related to the concept of active processors, introduced in Section 9.1 below. By assigning computations to processors, the ON directive (Section 9.2) defines the active processors. The RESIDENT directive (Section 9.3) uses this set and the information given by mapping directives in its assertions of locality. Finally, the TASK_REGION construct (Section 9.4) builds its tasks from active processor sets.