An Implemented Method for Incremmental Systolic Design

We present a mathematically rigorous and, at the same time, convenient method for systolic design and derive alternative systolic designs for one expository matrix computation problem: matrix multiplication. Each design is synthesized from a simple program and a proposed layout of processors. The synthesis derives (1) a systolic parallel execution, (2) channel connections for the proposed processor layout, and (3) an arrangement of data streams such that the systolic execution can begin. Our choices of alternative designs are governed by formal theorems. The synthesis method is implementable and is particularly effective if implemented with graphics capability. Our implementation on the Symbolics 3600 displays the resulting designs and simulated executions graphically on the screen. The method has also been successfully applied to other matrix computation problems.

[1]  K. Mani Chandy Concurrent programming for the masses (invited address) , 1985, PODC '85.

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

[3]  Dan I. Moldovan,et al.  Partitioning and Mapping Algorithms into Fixed Size Systolic Arrays , 1986, IEEE Transactions on Computers.

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

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

[6]  Jan L. A. van de Snepscheut A Derivation of a Distributed Implementation of Warshall's Algorithm , 1986, Sci. Comput. Program..

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

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

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

[10]  Christian Lengauer,et al.  A mechanically certified theorem about optimal concurrency of sorting networks , 1986, POPL '86.

[11]  Christian Lengauer,et al.  A Methodology for Programming with Concurrency: An Informal Presentation , 1982, Sci. Comput. Program..

[12]  Christian Lengauer A Methodology for Programming with Concurrency: The Formalism , 1982, Sci. Comput. Program..

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

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