We represent a systolic algorithm by a program consisting of one multiple assignment statement that captures its operation and data flow. We use invariants to develop such programs systematically. We present two examples, matrix multiplication and LU-decomposition of a matrix.
Key wordsSystolic algorithm Multiple assignment Invariant Program development Proofs of programs
Unable to display preview. Download preview PDF.
- 1.Kung HT, Leiserson CE (1980) Algorithms for VLSI Processor Arrays (Section 8.3). In: Mead C, Conway L (eds) Introduction to VLSI Systems. Addison-WesleyGoogle Scholar
- 2.Chandy KM (1985) Concurrency for the Masses. Invited Address: Third Annual ACM Symposium on Principles of Distributed Computing, August 1984, Vancouver, Canada. Proceedings of Fourth Annual ACM Symposium on Principles of Distributed ComputingGoogle Scholar
- 3.Chandy KM, Misra J (to be published) An Example of Stepwise Refinement of Distributed Programs: Quiescence Detection. ACM Trans Program Lang SystGoogle Scholar
- 4.Chandy KM, Misra J (1985) Programming and Parallelism: The Proper Perspective. Research Report, Computer Sciences Department, University of Texas, November 1985Google Scholar
- 5.Leiserson C, Rose F, Saxe J (1983) Optimizing Synchronous Circuitry by Retiming. In: Bryant R Third Caltech Conference on VLSI California Institute of Technology, March 1983, pp 87–116Google Scholar
- 6.Li GJ, Wah BW (1985) The Design of Optimal Systolic Arrays. IEEE Trans Comput. C-34: 66–77Google Scholar
- 7.Chen MC (1985) A Parallel Language and its Compilation to Multiprocessor Machines or VLSI. Research Report, Yale University, DCS-RR-432, October 1985Google Scholar
- 8.Chen MC (1985) The Generation of a Class of Multipliers: A Synthesis Approach to the Design of Highly Parallel Algorithms in VLSI. Research Report, Yale University, DCS-RR-442, December 1985Google Scholar