© 1997 by British Computer Society
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Communication-Minimal Partitioning and Data Alignment for Affine Nested Loops
1 Department of Computer Science, Louisiana Tech University, Ruston, LA 71272, USA Email: hlee{at}engr.latech.edu, 2 School of Electrical and Computer Engineering, Purdue University, W. Lafayette, IN 47907, USA
Data alignment and computation domain partitioning techniques have been widely investigated to reduce communication overheads in distributed memory systems. This paper considers how these two techniques can be combined and applied to affine nested loops. Current data alignment techniques focus on individual entries of data arrays and, in general, cannot be used directly for cases when blocks of entries should be aligned collectively. This paper shows that existing data alignment techniques can be applied to partitioned algorithms if the null space of the data array indexing matrix is a boundary of computation blocks or the intersection of some computation block boundaries. These conditions can be used to generate several different partitionings and timespace transformations for a given target architecture. An example illustrates how it is possible to trade-off the number of communications and the memory space. Another example shows partitions of matrixmatrix multiplication that have smaller communicationcomputation ratios than Cannon's algorithm.
Received November 10, 1996. revised July 25, 1997.