Skip to main content
Log in

Towards systolizing compilation

  • Published:
Distributed Computing Aims and scope Submit manuscript

Summary

A scheme for the compilation of imperative or functional programs into systolic programs is demonstrated on matrix composition/decomposition and Gauss-Jordan elimination. Using this scheme, programs for the processor network Warp and for several transputer networks have been generated.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Annaratone M, Arnould E, Gross T, Kung HT, Lam M, Menzilcioglu O, Webb JA: The Warp computer: Architecture, implementation, and performance. IEEE Trans Comput C-36 (12):1523–1538 (1987).

    Google Scholar 

  2. Barnett M: The formal derivation of distributed programs from systolic arrays. Proc 2nd IEEE Symp on Parallel and Distributed Processing. IEEE Computer Society Press 1990, pp 363–366

  3. Bu J, Deprettere EF: Converting sequential interative algorithms to recurrent equations for automatic design of systolic arrays. Proc IEEE Int Conf on Acoustics, Speech and Signal Processing (ICASSP 88), vol IV: VLSI; Spectral Estimation. IEEE Press 1988, pp 2025–2028

  4. Chen MC: Placement and interconnection of systolic processing elements: a new LU-decomposition algorithm. Res Rep YALEU/DCS/RR-498, Department of Computer Science, Yale University, October 1986

  5. Chen MC, Choo Y, Li J: Compiling parallel programs by optimizing performance. J Supercomput 2:171–207 (1988)

    Article  Google Scholar 

  6. van Dongen V: Quasi-regular arrays: definition and design methodology. In: Proc Int Conf on Systolic Array Processors. Prentice-Hall 1989, pp 126–135

  7. van Dongen V, Petit M: PRESAGE: a tool for the parallelization of nested loop programs. In: Claesen LJM (ed), Formal VLSI specification and synthesis (VLSI Design Methods-I). North-Holland, Amsterdam 1990, pp 341–359

    Google Scholar 

  8. Engstrom BR, Cappello PR: The SDEF systolic programming system. In: Tewksbury SK, Dickinson BW, Schwartz SC (eds) Concurrent computations. Plenum Press, 1987, Chap 15

  9. Gachet P, Joinnault B, Quinton P.: Synthesizing sytolic arrays using DIASTOL. In: Moore W, McCabe A, Urquart R (eds), Systolic arrays. Hilger 1987, pp 25–36

  10. Gross T, Sussman A: Mapping a single-assignment language onto the Warp systolic array. In: Kahn G (ed), Functional Programming Languages and Computer Architecture. Lect Notes Comput Sci, vol 274. Springer Berlin Heidelberg New York 1987, pp 347–363

    Google Scholar 

  11. Hoare CAR: Communicating sequential processes. Series in Computer Science, Prentice-Hall 1985

  12. Huang C-H: The mechanically certified derivation of concurrency and its application to systolic design. Ph D Thesis, Department of Computer Sciences, The University of Texas at Austin, August 1987

  13. Huang C-H, Lengauer C: The derivation of systolic implementations of programs. Acta Inf 24 (6):595–632 (1987)

    MathSciNet  Google Scholar 

  14. Huang C-H, Lengauer C: An incremental mechanical development of systolic solutions to the algebraic path problem. Acta Inf 27(2):97–124 (1989)

    Google Scholar 

  15. INMOS Ltd: occam Programming Manual. Series in Computer Science, Prentice-Hall, Englewood Cliffs, New Jersey 1984

    Google Scholar 

  16. INMOS Ltd: occam 2 Reference Manual. Series in Computer Science. Prentice-Hall, Englewood Cliffs, New Jersey 1988

    Google Scholar 

  17. INMOS Ltd: transputer Reference Manual. Prentice-Hall Englewood Cliffs, New Jersey 1988

    Google Scholar 

  18. Jagadish HV, Rao SK, Kailath T: Array architecture for iterative algorithms. Proc IEEE 75(9):1304–1320 (1987)

    Google Scholar 

  19. Prasanna Kumar VK, Tasi, Y-C: Designing linear systolic arrays. J Parallel Distrib Comput 7(3):441–463 (1989)

    Article  Google Scholar 

  20. Kung HT, Leiserson CE: Algorithms for VLSI processor arrays. In: Mead C, Conway L (eds), Introduction to VLSI Systems. Addison-Wesley 1980, Sect 8.3

  21. Kung S-Y, Lo S-C, Lewis PS: Optimal systolic design for the transitive closure and shortest path problems. IEEE Trans Comput C-36(5):603–614 (1987)

    Google Scholar 

  22. Lam M: A systolic array optimizing compiler. Tech Rep CMUCS-87-187, Department of Computer Science, Carnegie-Mellon University, May 1987

  23. Lee P, Kedem Z: Synthesizing linear array algorithms from nested for loop algorithms. IEEE Trans Comput TC-37(12):1578–1598 (1988)

    MathSciNet  Google Scholar 

  24. Lengauer C: A methodology for programming with concurrency: the formalism. Sci Comput Program 2(1):19–52 (1982)

    MATH  Google Scholar 

  25. Lengauer C: Code generation for a systolic computer. Software Pract Exper 20(3):261–282 (1990)

    MathSciNet  Google Scholar 

  26. Lengauer C, Sanders JW: The projection of systolic programs. Form Aspec Comput 2:273–293 (1990)

    Google Scholar 

  27. Lengauer C, Sabata B, Arman F: A mechanically derived systolic implementation of pyramid initialization. In: Brown G, Leeser M (eds), Proc Hardware Specification, Verification and Synthesis: Mathematical Aspects. Lect Notes Comput Sci, vol 408. Springer, Berlin Heidelberg New York 1990, pp 90–105

    Google Scholar 

  28. Lieu PJ: Personal communication, November 1987

  29. Lisper B: Single-assignment semantics for imperative programs. In: Odijk E, Rem M, Syre J-C (eds), Proc Parallel Architectures and Languages Europe (PARLE '89), vol II: Parallel Languages. Lect Notes Comput Sci, vol 366. Springer, Berlin Heidelberg New York 1989, pp 321–334

    Google Scholar 

  30. McGraw JR: SISAL language reference manual, version 1.2. Manual M-146, Lawrence Livermore National Laboratory, University of California at Davis, March 1985

  31. Moldovan DI, Fortes JAB: Partitioning and mapping algorithms into fixed-size systolic arrays. IEEE Trans Comput C-35(1):1–12 (1986)

    Google Scholar 

  32. Moldovan DI: ADVIS: a software package for the design of systolic arrays. IEEE Trans Comput-Aided Design CAD-6(1):33–40 (1987)

    MathSciNet  Google Scholar 

  33. Quinton P: Automatic synthesis of systolic arrays from uniform recurrent equations. Proc 11th Ann Int Symp on Computer Architecture. IEEE Computer Society Press 1984, pp 208–214

  34. Quinton P, van Dongen V: The mapping of linear recurrence equations on regular arrays. J VLSI Signal Processing 1(2):95–113 (1989)

    Google Scholar 

  35. Rajopadhye SV: Synthesizing systolic arrays with control signals from recurrence equations. Distrib Comput 3:88–105 (1989)

    Article  Google Scholar 

  36. Rajopadhye SV, Fujimoto RM: Synthesizing systolic arrays from recurrence equations. Parallel Comput 14(2):163–189 (1990)

    Article  MathSciNet  Google Scholar 

  37. Rao SK: Regular iterative algorithms and their implementations on processor arrays. Ph D Thesis, Department of Electrical Engineering, Stanford University, October 1985

  38. Rao SK, Kailath T: Regular iterative algorithms and their implementations on processor arrays. Proc IEEE 76(2):259–282 (1988)

    Article  Google Scholar 

  39. Robert Y, Trystram D: An orthogonal systolic array for the algebraic path problem. Computing 39(3):187–199 (1987)

    Article  MathSciNet  Google Scholar 

  40. Rote G: A systolic array algorithm for the algebraic path problem (shortest paths; matrix inversion). J Comput 34(3):191–219 (1985)

    MATH  MathSciNet  Google Scholar 

  41. Wong Y, Delosme J-M: Broadcast removal in systolic algorithms. In: Proc Int Conf on Systolic Arrays. IEEE Computer Society Press 1988, pp 403–412

  42. Wong Y, Delosme JM: Optimal systolic implementations of N-dimensional recurrences. Proc IEEE Int Conf on Computer Design (ICCD 85), IEEE Press 1985, pp 618–621. Also: Tech Rep 8810, Department of Computer Science, Yale University, April 1988

  43. Xue J, Lengauer C: On one-dimensional systolic arrays. Proc Int Workshop on Formal Methods in VLSI Design, Miami, Florida, January 1991 (to appear) Full paper: Tech Rep ECS-LFCS-90-116, Department of Computer Science, University of Edinburgh, July 1990

  44. Zimmermann U: Linear and combinatorial optimization in ordered algebraic structures. Annals of Discrete Mathematics 10, North-Holland, Amsterdam 1981, Chap. 8

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Christian Lengauer holds a Dipl. Math. (1976) from the Free University of Berlin, and an M.Sc (1978) and Ph.D. (1982) in Computer Science from the University of Toronto. He was an Assistant Professor of Computer Sciences at The University of Texas at Austin from 1982 to 1989 and is presently a Lecturer in Computer Science at the University of Edinburgh. His past research has been in the areas of systolic design, formal semantics and program construction, and automated theorem proving.

Michael Barnett received a B.A. in Computer Science from Brooklyn College/City University of New York in 1985, and is currently a Ph.d. candidate at the University of Texas at Austin, where he has been since 1986. From 1985 to 1986 he worked at IBM's T.J. Watson Research Center. His current research interests include formal methods, programming methodology, and functional programming.

Duncan G. Hudson III received the B.A. degree in computer sciences from The University of Texas at Austin in 1987 and the M.S.C.S. degree in computer sciences from The University of Texas at Austin in 1989. He has worked as a Graduate Research Assistant at The University of Texas at Austin in the areas of graphical parallel programming environments, parallel numerical algorithms, and objectoriented programming languages for parallel architectures and as a Software Design Engineer at Texas Instruments in the areas of objectoriented databases and parallel image understanding. He is currently a Ph.D. candidate in the Department of Computer Sciences at The University of Texas at Austin. His current research interests include parallel architectures and algorithms and parallelizing compilers.

This research was supported in part by the following funding agencies: through Carnegie-Mellon University by the Defense Advanced Research Projects Agency monitored by the Space and Naval Warfare Systems Command under Contract N00039-87-C-0251 and by the Office of Naval Research under Contracts N00014-87-K-0385 and N00014-87-K-0533; through Oxford University by the Science and Engineering Research Council under Contract GR/E 63902; through the University of Texas at Austin by the Office of Naval Research under Contract N00014-86-K-0763 and by the National Science Foundation under Contract DCR-8610427

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lengauer, C., Barnett, M. & Hudson, D.G. Towards systolizing compilation. Distrib Comput 5, 7–24 (1991). https://doi.org/10.1007/BF02311229

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02311229

Key words

Navigation