next up previous contents
Next: Alignment Example Up: Alignment and Distribution Previous: Alignment

 

Alignment Syntax

There is a wealth of alignment syntax. There are a number of different ways of expressing the same thing. It can be confusing. The ALIGN statement can be written in two ways.

The attributed (Fortran 90) style of declaration is recommended as it allows concise yet clear alignment:

 !HPF$ ALIGN (:,:) WITH T(:,:) :: A, B, C

is equivalent to

 !HPF$ ALIGN A(:,:) WITH T(:,:)
 !HPF$ ALIGN B(:,:) WITH T(:,:)
 !HPF$ ALIGN C(:,:) WITH T(:,:)

which is more long-winded. This statement aligns A, B and C with T. T is known as the align-target and is now the only object that can be distributed. A, B and C can be thought of as ``hanging off'' T; if T is distributed then so are A, B and C. (Note in this case T can be an array or a TEMPLATE [see later if covered in this course]). The effect here is that A(i,j), B(i,j) and C(i,j) will reside on the same processor as T(i,j).

The colons : in the align statement imply shape conformance ( cf Fortran 90). If A, B, C and T are not the same size and shape then the program is erroneousgif.

Other alignment syntax will be presented later.




next up previous contents
Next: Alignment Example Up: Alignment and Distribution Previous: Alignment

Adam Marshall ©University of Liverpool, 1996
Fri Dec 6 15:03:35 GMT 1996
Not for commercial use.