The ALPHA language and its use for the design of systolic arrays

  • Hervé Le Verge
  • Christophe Mauras
  • Patrice Quinton


The ALPHA language results from research on automatic synthesis of systolic algorithms. It is based on the recurrence equation formalism introduced by Karp, Miller and Winograd in 1967. The basic objects of ALPHA are variables indexed on integral points of a convex set. It is a functional/equational language, whose definition is particularly well-suited to express regular algorithms, as well as transformations of these algorithms from their initial mathematical specification to an implementation on a synchronous parallel architecture. In particular, ALPHA makes it easy to define, prove and implement basic transformations such as Leiserson and Saxe's retiming, space-time reindexing, localization, and partitioning.

We describe ALPHA, its use for expressing and deriving systolic arrays, and the design environment ALPHA DU CENTAUR for this language.


Spatial Domain Systolic Array Denotational Semantic Spatial Operator Dependence Operator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    H.T. Kung, “Why systolic architectures?”Computer, 15, 1982, pp. 37–46.CrossRefGoogle Scholar
  2. 2.
    R.M. Karp, R.E. Miller, and S. Winograd, “The organization of computations for uniform recurrence equations,”Journal of the Association for Computing Machinery, 14, 1967, pp. 563–590.MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    S.V. Rajopadhye and R.M. Fujimoto, “Systolic array synthesis by static analysis of program dependencies.” in (J.W. de Bakker, A.J. Nijman, and P.C. Treleaven, eds.),Parallel Architectures and Languages Europe, pages 295–310, Berlin/New York: Springer-Verlag, 1987.CrossRefGoogle Scholar
  4. 4.
    C. Guerra, “A unifying framework for systolic designs,” inVLSI Algorithms and Architectures, (G. Goos and J. Hartmanis eds.), Berlin/New York: Springer-Verlag, 1986, pp. 46–56.CrossRefGoogle Scholar
  5. 5.
    P. Quinton, “Automatic synthesis of systolic arrays from recurrent uniform equations,” in11th Annual Int. Symp. Computer Arch., Ann Arbor, Pisataway, N.J.: 1984, pp. 208–214.Google Scholar
  6. 6.
    G.-R. Perrin, “Parallel solving of equation systems,” in (M. Cosnard, P. Quinton, M. Raynal, and Y. Robert, eds.),Parallel and Distributed Algorithms, Amsterdam: North-Holland, 1988.Google Scholar
  7. 7.
    E.A. Ashcroft and W.W. Wadge, “LUCID: a nonprocedural language with iteration,”CACM, 20(7), 1977.Google Scholar
  8. 8.
    M.C. Chen, Transformations of Parallel Programs in Crystal. Technical Report YALEU/DCS/RR-469, Yale University, 1986.Google Scholar
  9. 9.
    Y. Choo and M.C. Chen, A Theory of Parallel Program Optimization. Technical Report YALEU/DCS/TR-608, Yale University, 1988.Google Scholar
  10. 10.
    P. Caspi, D. Pilaud, N. Halbwachs, and J.A. Plaice. “LUSTRE: a declarative language for programming synchronous systems,” inFourteenth Annual ACM Symp. on Principles of Programming Languages, 1987, ACM, Munich (West Germany), pp. 178–188.Google Scholar
  11. 11.
    P. LeGuernic, A. Benveniste, P. Bournai, and T. Gautier, “SIGNAL: a data flow oriented language for signal processing,” inIEEE Workshop on VLSI, VLSI Signal Processing, IEEE Press, New York, 1984, pp. 282–293.Google Scholar
  12. 12.
    N. Halbwachs, A. Longchamp, and D. Pilaud, “Describing and designing circuits by means of a synchronous declarative language,” inFrom HDL Description to Guaranteed Correct Circuit Designs, Proceedings of IFIP Working Conference, Grenoble (France), Amsterdam: Adam Hilger: North-Holland, 1986.Google Scholar
  13. 13.
    C.E. Leiserson, F.M. Rose, and J.B. Saxe, “Optimizing synchronous circuitry by retiming” (preliminary version). In (R. Bryant, ed.)Proc. 3d Caltech Conf. on VLSI, Berlin: Computer Science Press, 1983, pp. 87–116.Google Scholar
  14. 14.
    N. Halbwachs and D. Pilaud, “Use of real-time declarative language for systolic array design and simulation,” in (W. Moore, A. McCabe, and R. Urquhart, ed.)International Workshop on Systolic Arrays, Bristol: Adam Hilger, University of Oxford, 1986, pp. 81–90.Google Scholar
  15. 15.
    C. Mauras, “Alpha: un langage équationnel pour la conception et la programmation d'architectures parallèles synchrones.” Thèse de l'Université de Rennes 1, IFSIC, 1989.Google Scholar
  16. 16.
    G. Kahn, “The semantics of a simple language for parallel programming,” In (J.L. Rosenfeld, ed.),Information Processing, Proc. of IFIP, Stockholm, Amsterdam: North Holland, 1974, pp. 471–475.Google Scholar
  17. 17.
    S.K. Rao,Regular Iterative Algorithms and their Implementations on Processor Arrays. Ph.D. thesis, Stanford University, U.S.A., 1985.Google Scholar
  18. 18.
    P. Quinton and V. Van Dongen, “The mapping of linear recurrence equations on regular arrays,”Journal of VLSI Signal Processing, 1, 1989, pp. 95–113.CrossRefMATHGoogle Scholar
  19. 19.
    Y. Saouter and P. Quinton,Computability of Recurrence Equations. Technical Report, IRISA-Rennes (France), 1989.Google Scholar
  20. 20.
    J.A.B. Fortes, K.S. Fu, and B.W. Wah, “Systematic approaches to the design of algorithmically specified systolic arrays,” inICASSP 85, 1985, pp. 300–303.Google Scholar
  21. 21.
    D.I. Moldovan, “On the analysis and synthesis of VLSI algorithms,”IEEE Transactions on Computers, C-31(11), 1982.Google Scholar
  22. 22.
    S.Y. Kung,VLSI Array Processors. Englewood Cliffs, NJ: Prentice Hall, 1988.Google Scholar
  23. 23.
    C. Mauras, P. Quinton, S. Rajopadhye, and Y. Saouter, “Scheduling affine parameterized recurrences by means of variable dependent timing function,” inASAP 90, Princeton: Princeton University, 1990.Google Scholar
  24. 24.
    J.A.B. Fortes and D.I. Moldovan, “Data broadcasting in linearly scheduled array processors,” inProc. 11th Annual Symp. on Computer Architecture, 1984, pp. 224–231.Google Scholar
  25. 25.
    P. Borras, D. Clément, Th. Despeyroux, J. Incerpi, G. Kahn, B. Lang, and V. Pascual.CENTAUR: the System. Technical Report 777, INRIA, 1987.Google Scholar
  26. 26.
    A. Schrijver,Theory of Linear and Integer Programming. Wiley-Interscience Series in Discrete Mathematics, New York: Wiley and Sons, 1986.MATHGoogle Scholar

Copyright information

© Kluwer Academic Publishers 1991

Authors and Affiliations

  • Hervé Le Verge
    • 1
  • Christophe Mauras
    • 1
  • Patrice Quinton
    • 1
  1. 1.IRISARennes CédexFrance

Personalised recommendations