Arrays can be positioned relative to each other. This
Alignment of two or more arrays ensures that corresponding elements reside on the same processor. The idea is to view the usage patterns of the arrays and `calculate' how they should be aligned with one another. The simplest case would be the array assignment:
A = B + C
Here, A(i) is used in the same calculation as B(i) and C(i). It would therefore be sensible to ensure that A(i), B(i) and C(i) reside on the same processor for all i; this would mean that each component of the array assignment can be performed without any communications.
Alignment can also be used for other things too. It is possible to manually offset arrays relative to each other and it is also possible to specify explicit replication and collapsing of dimensions or of whole objects.
Return to corresponding overview page