Next: Conditions for Omitting Explicit
Up: Approved Extensions for Data Mapping
Previous: The SHADOW Directive
Section 4.5 has to be changed
to accommodate the new distributions, the SHADOW attribute,
and mapping of components of derived types, all introduced as approved
extensions. The relevant text now reads as follows; additions are in
bold-face type.
First, we define a notion of equivalence for dist-format
specifications:
- Using the notation = for the phrase ``is equivalent to'',
BLOCK | = | BLOCK | |
CYCLIC | = | CYCLIC | |
* | = | * | |
BLOCK(n) | = | BLOCK(m) | iff n and m have the same value |
CYCLIC(n) | = | CYCLIC(m) | iff n and m have the same value |
CYCLIC | = | CYCLIC(1) | |
GEN_BLOCK(v)< | = | GEN_BLOCK(w) | iff the values of corresponding elements of v and w are equal |
INDIRECT(v)< | = | INDIRECT(w) | iff the values of corresponding elements of v and w are equal |
- Other than this, no two lexically distinct dist-format
specifications are equivalent.
This is an equivalence relation in the usual mathematical sense.
Next we define a notion of equivalence for SHADOW
attributes (see Section 8.12 for the syntax):
- The shadow-spec expressions w_{1} and w_{2} are
equivalent iff they have the same value.
- The shadow-spec w is equivalent to the
shadow-spec w:w.
- The shadow-spec l_{1}:h_{1} is equivalent to the
shadow-spec l_{2}:h_{2} iff l_{1} is equivalent tol_{2}
and h_{1} is equivalent to h_{2}.
- Other than this, no two lexically distinct shadow-spec
specifications are equivalent.
We then say that two SHADOW attributes are equivalent iff
the shadow-spec-list of one is elementwise equivalent to
the shadow-spec-list of the other.
Now we define the partial order on mappings: Let S
(``special'') and G (``general'') be two data objects.
The mapping of S is a specialization of the mapping of
G if and only if either
- G has the INHERIT attribute, or
- S does not have the INHERIT attribute, and the
following constraints all hold:
- S is a named object or structure component, and
- The shapes of the ultimate align targets of S and G
are the same, and
- Corresponding dimensions of S and G are
mapped to corresponding dimensions of their respective ultimate
align targets, and corresponding elements of S and
G are aligned with corresponding elements of their
respective ultimate align targets, and
- Either
- The ultimate align targets of both S and G
are not explicitly distributed, or
- The ultimate align targets of both S and G
are explicitly distributed. In this case, the distribution
directive specified for the ultimate align target of G
must satisfy one of the following conditions:
- It has no dist-onto-clause, or
- It has a dist-onto-clause of
``ONTO *'', or
- It has a dist-onto-clause specifying a
processor arrangement having the same shape as that
explicitly specified in a distribution directive for the
ultimate align target of S.
and must also satisfy one of the following conditions:
- It has no dist-format-clause, or
- It has a dist-format-clause of ``*'', or
- Each dist-format is equivalent (in the sense
defined above) to the dist-format in the
corresponding position of the dist-format-clause in
an explicit distribution directive for the ultimate align
target of S.
- Either S and G both have no
SHADOW attribute or they have equivalent
SHADOW attributes.
Next: Conditions for Omitting Explicit
Up: Approved Extensions for Data Mapping
Previous: The SHADOW Directive