The first phase semantically analyzes all Fortran 90D/HPF directives and
stores the resulting information on decomposition, distribution, alignment,
and processor arrangements in the array descriptor portion of the symbol
table. This information is used throughout compilation.
For variables that are not explicitly mapped (and compiler-created
temporaries), the compiler chooses a default distribution and alignment.
Figure shows a
typical sequence of Fortran 90D/HPF directives used to align
and distribute arrays.
The compiler identifies alignment chains and determines that no PROCESSORS
directive is present. In the absence of a PROCESSORS directive, the
compiler generates code to dynamically determine the number of available
processors and uses a default one-dimensional processor arrangement.
The compiler stores the distribution information as in Figure .
It creates a default template
for array
and collapses all alignments
to
into alignments to
.
is distributed by default onto
, the
default processor arrangement.