Skip to main content
Log in

Correct translation of data parallel assignment onto array processors

  • Published:
Formal Aspects of Computing

Abstract

Two models of computation which are suitable for the description of parallel scientific calculations on large data structures are presented. Data parallel assignment is a construct which may be used to specify the application of a set of order independent fine grained operations to a regular data structure. It is formulated in a machine independent way and, consequently, is suitable for implementation on a range of novel parallel architectures. An operational model of data parallel computation is provided by specifying a model array processor. The specification captures the essential features of the class of array processors and it may be instantiated in order to define a particular machine. A formal operational semantics of data parallel assignment is given for the model array processor. The translation mechanism is shown to be correct. The exercise clarifies some of the issues in deciding whether or not it is feasible to translate data parallel assignment directly onto array processor architectures.

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. Chandy, K.M. and Misra, J.:Parallel Program Design: A Foundation. Addison-Wesley, 1988.

  2. Dijkstra, E.W.:A Discipline of Programming. Prentice-Hall, 1976.

  3. Dekel, E., Nassimi, D. and Sahni, S.: Parallel matrix and graph algorithms.SIAM Journal on Computing, 10(4):657–675, 1981.

    Google Scholar 

  4. Freeman, T.L. and Phillips, C.:Parallel Numerical Algorithms. Prentice-Hall International, 1992.

  5. Gries, D.:The Science of Programming. Prentice-Hall International, 1981.

  6. Gonzalez, R.C. and Wintz, P.:Digital Image Processing (2nd edition). Addison Wesley, 1987.

  7. Hockney, R.W. and Jesshope, C.R.:Parallel Computers 2:architecture, programming and algorithms. Adam Hilger, 1988.

  8. Hoare, C.A.R. and Lauer, P.E.: Consistent and complementary formal theories of the semantics of programming languages.Acta Informatica, 3:135–153, 1974.

    Google Scholar 

  9. Heywood, T. and Ranka, S.: A practical hierarchial model of parallel computation. 1. the model.Journal of Parallel and Distributed Computing, 16(3):212–232, 1992.

    Google Scholar 

  10. Kung, H.T. and Leiserson, C.E.: Algorithms for VLSI processor arrays. In C. Mead and L.A. Conway, editors,Introduction to VLSI Systems. Addison-Wesley, 1980.

  11. Karp, R.M. and Ramachandrun, V.: A survey of parallel algorithms for shared memory machines. In J. van Leeuwen, editor,Handbook of Theoretical Computer Science. North Holland, 1990.

  12. Luk, W. and Brown, G.: A systolic LRU processor and its top-down development.Science of Computer Programming, 15(2-3):217–233, 1990.

    Google Scholar 

  13. Metcalf, M. and Reid, J.:Fortran 90 explained. Oxford University Press, 1990.

  14. Perrott, R.H.: A language for array and vector processors.ACM Transactions on Programming Languages and Systems, 2:266–287, 1979.

    Google Scholar 

  15. Pereira, F.C.N. and Warren, D.H.D.: Definite clause grammars for language analysis-a survey of the formalism and a comparison with augmented transition networks.Artificial Intelligence, 13:231–278, 1980.

    Google Scholar 

  16. Schmidt, D.A.:Denotational Semantics. Allyn and Bacon Inc., 1986.

  17. Stewart, A.: SIMD language design using prescriptive semantics.BIT, 28:639–650, 1988.

    Google Scholar 

  18. Stewart, A.: An axiomatic treatment of SIMD assignment.BIT, 30:70–82, 1990.

    Google Scholar 

  19. Stoy, J.E.:Denotational Semantics: the Scott-Strachey approach to programming language theory. MIT Press, 1977.

  20. Tennent, R.D.: The denotational semantics of programming languages.Communications of the ACM, 19(8):437–453, 1976.

    Google Scholar 

  21. Wallis, P.J.L.: Some primitives for the portable programming of array and vector processors.BIT, 21:436–448, 1981.

    Google Scholar 

  22. Wray, J.P.:The Semantics of Synchronised Assignment. PhD thesis, The Queen's Unviversity of Belfast, July 1992.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wray, J.P., Stewart, A. Correct translation of data parallel assignment onto array processors. Formal Aspects of Computing 6, 417–439 (1994). https://doi.org/10.1007/BF01211307

Download citation

  • Received:

  • Accepted:

  • Issue Date:

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

Keywords

Navigation