On Synthesizing Systolic Arrays from Recurrence Equations with Linear Dependencies

We present a technique for synthesizing systolic architectures from Recurrence Equations. A class of such equations (Recurrence Equations with Linear Dependencies) is defined and the problem of mapping such equations onto a two dimensional architecture is studied. We show that such a mapping is provided by means of a linear allocation and timing function. An important result is that under such a mapping the dependencies remain linear. After obtaining a two-dimensional architecture by applying such a mapping, a systolic array can be derived if the communication can be spatially and temporally localized. We show that a simple test consisting of finding the zeroes of a matrix is sufficient to determine whether this localization can be achieved by pipelining and give a construction that generates the array when such a pipelining is possible. The technique is illustrated by automatically deriving a well known systolic array for factoring a band matrix into lower and upper triangular factors.

[1]  Marina C. Chen,et al.  A Design Methodology for Synthesizing Parallel Algorithms and Architectures , 1986, J. Parallel Distributed Comput..

[2]  Richard M. Karp,et al.  The Organization of Computations for Uniform Recurrence Equations , 1967, JACM.

[3]  Marina Chien-mei Chen Space-time Algorithms: Semantics and Methodology , 1983 .

[4]  Jose Antonio Baptista Fortes Algorithm transformations for parallel processing and vlsi architecture design , 1984 .

[5]  Thomas Kailath,et al.  Regular iterative algorithms and their implementation on processor arrays , 1988, Proc. IEEE.

[6]  Sanjay V. Rajopadhye,et al.  Systolic Array Synthesis by Static Analysis of Program Dependencies , 1987, PARLE.

[7]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[8]  Charles E. Leiserson,et al.  Optimizing synchronous systems , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[9]  H. T. Kung Why systolic architectures? , 1982, Computer.

[10]  Patrice Quinton Automatic synthesis of systolic arrays from uniform recurrent equations , 1984, ISCA '84.

[11]  Monica S. Lam,et al.  A Transformational Model of VLSI Systolic Design , 1985, Computer.

[12]  H. T. Kung,et al.  Direct VLSI Implementation of Combinatorial Algorithms , 1979 .

[13]  Benjamin W. Wah,et al.  The Design of Optimal Systolic Arrays , 1985, IEEE Transactions on Computers.

[14]  Uri C. Weiser,et al.  Towards a Formal Treatment of VLSI Arrays , 1981 .

[15]  Dan I. Moldovan,et al.  Parallelism detection and transformation techniques useful for VLSI algorithms , 1985, J. Parallel Distributed Comput..

[16]  Matthew T. O'Keefe,et al.  A Comparative Study of Two Systematic Design Methodologies for Systolic Arrays , 1986, ICPP.

[17]  V. van Dongen,et al.  Uniformization of linear recurrence equations: a step toward the automatic synthesis of systolic arrays , 1988, [1988] Proceedings. International Conference on Systolic Arrays.

[18]  Patrice Quinton,et al.  The systematic design of systolic arrays , 1987 .

[19]  Rami G. Melhem,et al.  A Mathematical Model for the Verification of Systolic Networks , 1984, SIAM J. Comput..

[20]  T. Kailath,et al.  Array architectures for iterative algorithms , 1987, Proceedings of the IEEE.

[21]  Peter R. Cappello,et al.  Selecting Systolic Designs Using Linear Transformations Of Space-Time , 1984, Optics & Photonics.

[22]  S. Kung,et al.  VLSI Array processors , 1985, IEEE ASSP Magazine.

[23]  Marina C. Chen A parallel language and its compilation to multiprocessor machines or VLSI , 1986, POPL '86.

[24]  Al Davis,et al.  A Wavefront Notation Tool for VLSI Array Design , 1981 .

[25]  Dan I. Moldovan,et al.  On the Analysis and Synthesis of VLSI Algorithms , 1982, IEEE Transactions on Computers.

[26]  PEIZONG LEE,et al.  Synthesizing Linear Array Algorithms from Nested For Loop Algorithms , 2015, IEEE Trans. Computers.

[27]  D.I. Moldovan,et al.  On the design of algorithms for VLSI systolic arrays , 1983, Proceedings of the IEEE.

[28]  I. V. Ramakrishnan,et al.  Mapping Homogeneous Graphs on Linear Arrays , 1986, IEEE Transactions on Computers.