next up previous contents
Next: Containment Restrictions Up: Glossary of Terms Previous: Shape Restrictions   Contents

Alignment 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.

Bryan Carpenter 2004-06-09