Skip to main content

Towards a semantic approach to SIMD architectures and their languages

  • Conference paper
  • First Online:
Semantics of Systems of Concurrent Processes (LITP 1990)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 469))

Included in the following conference series:

Abstract

We propose an abstract approach towards the fundamental concepts involved in SIMD architectures. Its specificity is to proceed by studying the abstract semantics of parallel languages designed to control those architectures in their various aspects. In this paper, we concentrate on the duality between the macroscopic view of SIMD architectures (a sequential processor operating on array variables), and the microscopic one (an array of parallel processors operating on private scalar variables). For this purpose, we define a simple language for each viewpoint, give their abstract operational semantics, set up a compilation function and prove it correct. In a second part, we consider more closely the macroscopic language. We study program equivalences and proofs, and we show how to use it to implement various routing strategies.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Auguin, M., Boeri, F. The Opsila Computer. In: Parallel Algorithms and Architectures, Cosnard, M. et al. (Eds), Elsevier Science Publishers, 1986, pp. 143–153.

    Google Scholar 

  2. Batcher, K. The design of a Massively Parallel Processor. IEEE Trans. on Computers C-29, 9, 1979, pp. 836–840.

    Google Scholar 

  3. Bougé, L. On the semantics of languages for massively parallel SIMD architectures. Rept. No. 90-13, LIENS, Paris, 1990.

    Google Scholar 

  4. Connection Machine Model CM-2 Technical Summary. Techn. Rept. HA 87-4, Thinking Machine Corp., 1987.

    Google Scholar 

  5. Flynn, M.J. Some Computer Organizations and Their Effectiveness. IEEE Trans. on Computers C-21, 9, 1972, pp. 948–960.

    Google Scholar 

  6. Fountain, T.J. CLIP4: A Progress Report. In: Languages and Architectures for Image Processing, Duff, M.J.B., Levialdi, S. (Eds), Academic Press, 1981, pp. 283–291.

    Google Scholar 

  7. Fountain, T.J. A Survey of Bit-Serial Array Processor Circuit. In: Computing Structures for Image Processing, Duff, M.J.B. (Ed), Academic Press, 1983, pp. 1–14.

    Google Scholar 

  8. Frenkel, K. Evaluating two massively parallel machines. Comm. ACM 29, 8, 1986, pp. 752–758.

    Google Scholar 

  9. Gerritsen, F.A. A comparison of the CLIP4, DAP and MPP processor-array implementations. In: Computing Structures for Image Processing, Duff, M.J.B. (Ed), Academic Press, 1983, pp. 15–30.

    Google Scholar 

  10. Hoare, C.A.R. An axiomatic basis for computer programming. Comm. ACM 12, 10, 1969, pp. 576–580, 583.

    Google Scholar 

  11. Hillis, W.D. The Connection Machine. MIT Press, Cambridge, Mass., 1985.

    Google Scholar 

  12. Hunt, D.J. The ICL DAP and its application to image processing. In: Languages and Architectures for Image Processing, Duff, M.J.B., Levialdi, S. (Eds), Academic Press, 1981, pp. 275–282.

    Google Scholar 

  13. Lua, K.T., Wong, W.F. Geometric Arithmetic Parallel Processor — An Evaluation. Proc. Interdepartment Seminar on Supercomputers and Applications, Publ. TRIO/87, Dept. Information Systems and Comp. Science, Nat. Univ. Singapore, 1987, pp. 44–61.

    Google Scholar 

  14. Olderog, E.-R., Apt, K. Fairness in parallel programs: the transformational approach. ACM Trans. on Progr. Lang. and Systems 10, 3, 1988, pp. 420–455.

    Google Scholar 

  15. Paris, N. Définition de POMPC. Typescript, LIENS, Paris, 1989.

    Google Scholar 

  16. ParIS: The C Interface. Reference Manual. Thinking Machine Corporation, 1987.

    Google Scholar 

  17. Perrott, R.H. A language for array and vector processors. ACM Trans. Progr. Lang. 1, 2, 1979, pp. 177–195.

    Google Scholar 

  18. Reeves, R.W. Parallel Pascal and the Massively Parallel Processor. In: The Massively Parallel Processor, Potter, J.L. (Ed), MIT Press, 1985, pp. 230–260.

    Google Scholar 

  19. Hockney, R.W., Jesshope, C.R. Parallel Computers 2: Architectures, Programming and Algorithms. IOP Publishing Ltd, 1988.

    Google Scholar 

  20. Steele, G.H., Hillis, W.D. Connection Machine Lisp: Fine-Grain Parallel Symbolic Processing. Proc. 1986 ACM Conf. on Lisp and Funct. Progr., Cambridge, MA, 1986, pp. 279–297.

    Google Scholar 

  21. *Lisp Language Reference Manual. Thinking Machine Corporation, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Irène Guessarian

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag

About this paper

Cite this paper

Bougé, L., Garda, P. (1990). Towards a semantic approach to SIMD architectures and their languages. In: Guessarian, I. (eds) Semantics of Systems of Concurrent Processes. LITP 1990. Lecture Notes in Computer Science, vol 469. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53479-2_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-53479-2_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53479-2

  • Online ISBN: 978-3-540-46897-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics