next up previous contents index
Next: 2 Execution Model of Up: ADAPTOR HPF Programmers Guide Previous: Contents   Contents   Index

1 Overview

The ADAPTOR tool offers the possibility to write efficient data parallel programs without explicit message passing and without explicit synchronziation. This is realized by using the inherent parallelism of array operations and/or parallel loops on arrays where the arrays are mapped to the available processors. Necessary communication and/or synchronization will be generated automatically.

High Performance Fortran (HPF) [Hig94,KLS$^+$94] is the de facto standard for data parallel programming in Fortran. ADAPTOR supports the base language of the lastest language definition HPF 2.0[Hig97] as well as most of the approved extensions. Additionally, some ADAPTOR specific directives can be used for tuning HPF programs for the different architectures, including vector architectures.

HPF provides directives for the mapping of the data to the processors. ADAPTOR supports all mapping directives of HPF and also some additional distributions (e.g. arbitrary distributions, mapping of serial data to a single processor, replication of serial data for a processor array). ADAPTOR takes mapping directives as mandatory. The general idea of HPF is to map the computations of the Fortran program to the processors according to the mapping of the data on which the operations work (owner computes rule).

There are the following possibilities to use HPF parallelism with ADAPTOR:

Attention: ADAPTOR has also features for identifying independent computations within a serial DO loop. Serial loops can be parallelized automatically (see [Bra04]).

This tuning guide does not explain the use of the HPF language and will not show which features are supported within ADAPTOR (see [Bra03]). It points out which features might result in the most efficient programs when using ADAPTOR.

This tuning guide is related to the execution of HPF programs on parallel machines and should give a more detailed understanding how an HPF compiler like ADAPTOR translates the data parallel programs. After a more general introduction (2) it will be explained where no communication is necessary (4), where global communication (6), structured communication (7) or unstructured communication (8) is generated by the compiler.


next up previous contents index
Next: 2 Execution Model of Up: ADAPTOR HPF Programmers Guide Previous: Contents   Contents   Index
Thomas Brandes 2004-03-18