Next: Containment Restrictions
Up: Glossary of Terms
Previous: Shape Restrictions
Many of the schedules in the library assume some alignment relations
(see section A.2) between their array arguments.
For example, it is required that the source array for a Shift is
aligned with the destination array.
Historically, an essential feature of
the shift operation is that it can be implemented very efficiently by
simple nearest neighbour communications. The library could easily have
been defined to implement shift without the alignment constraint, but
then implementation would be essentially the same as the more complex
Remap operation, and the main point of providing Shift is
that it is a simpler, relatively light-weight operation. If versions
of the library functions without alignment restrictions are needed,
they can always be constructed by combining the constrained operation
with Remap operations.