[go: up one dir, main page]

Skip to main content

A formal approach to the compilation of data-parallel languages

  • What Next?
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1994)

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

Abstract

In this paper we describe an approach to the compilation of data-parallel programming languages based on a formally defined intermediate language, called V-cal. The calculus V-cal was designed to represent the semantics of data management and control primitives found in data-parallel languages and allows to describe program transformations and optimizations as semantics preserving rewrite rules.

Based on V-cal we propose a compiler design that meets two objectives: firstly, it provides a platform that allows compiler writers to construct different compilers from a set of implemented transformations and analyses using a modular construction set technique. Secondly, it structures the compilation process into three independent phases to facilitate the reuse of major parts of a compiler when porting it to a different target machine or architecture.

Author is affiliated to N.W.O. and is sponsored by S.I.O.N.

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. F. André, J. Pazat, H. Thomas Pandore: A System to Manage Data Distribution, in Proc. 1990 Intl. Conf. on Supercomputing, The Netherlands, 1990.

    Google Scholar 

  2. U. Banerjee Dependence Analysis for Supercomputing, Kluwer Academic Publishers, 1988.

    Google Scholar 

  3. L. Breebaart, P. Dornbosch The rule language, syntax and semantics, TNO-report, No. 92-TPD/zp-1024, October 1992.

    Google Scholar 

  4. L. Breebaart, P. Dechering, A. Poelman, J. Trescher, H. de Vreught The Booster Language Report, TU Delft, Technical Report, in preparation.

    Google Scholar 

  5. J. Brown, S. Pakin, R. Polivka APL2 at a glance, Prentice Hall, Englewood Cliffs, 1988.

    Google Scholar 

  6. B. Chapman, P. Mehrotra, H. Zima Programming in Vienna Fortran, Scientific Programming, 1(1):31–50, 1992.

    Google Scholar 

  7. J. Cordy, I. Carmichael The TXL Programming Language, Syntax and Informal Semantics, Version 7, Department of Computing and Information Science, Queens University at Kingston, txl@qucis.queensu.ca, 1993

    Google Scholar 

  8. S. Hiranandani, K. Kennedy, C.-W. Tseng Compiler Support for Machine-Independent Parallel Programming in Fortran-D, Technical Report RICE COMP TR91-149, Rice University, March 1991.

    Google Scholar 

  9. J. Hulman, S. Andel, B. Chapman, H. Zima Intelligent Parallelization within the Vienna Fortran Compilation System, in Proc. 4. Intl. Workshop on Compilers for Parallel Computers, Delft 1993, The Netherlands.

    Google Scholar 

  10. C. Kessler Pattern Recognition Enables Automatic Parallelization of Numerical Codes, in Proc. 4. Intl. Workshop on Compilers for Parallel Computers, Delft 1993, The Netherlands.

    Google Scholar 

  11. E. Paalvast, H. Sips A high-level language for the description of parallel algorithms, in Proc. of Parallel Computing '89, North Holland Publ., 1989.

    Google Scholar 

  12. E. Paalvast, A. van Gemund, H. Sips Automatic Parallel Program Generation and Optimization from Data Decompositions in Proceedings, 1991 International Conference Parallel Processing, St. Charles, USA.

    Google Scholar 

  13. E. Paalvast Programming for Parallelism and Compiling for Efficiency, Ph.D. Thesis, TU Delft, 1992.

    Google Scholar 

  14. K. Pieper Parallelizing Compilers: Implementation and Effectiveness, Tech. Rep. Stanford University, Computer Systems Laboratory, CSL-TR-93-575, 1993.

    Google Scholar 

  15. H. Thomas, H. Sips, E. Paalvast A Taxonomy of User-Annotated Programs for Distributed Memory Computers, in Proceedings 1992 International Conference on Parallel Processing, 1992.

    Google Scholar 

  16. N. Wirth Programming in Modula-2, 3. Edition, Springer Heidelberg, 1982.

    Google Scholar 

  17. M. Wolfe Optimizing Supercompilers for Supercomputers, MIT Press, Cambridge, Massachusetts, 1989.

    Google Scholar 

  18. H. Zima with B. Chapman Supercompilers for Parallel and Vector Computers, ACM Press, New York, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Keshav Pingali Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Trescher, J.A., Breebaart, L.C., Dechering, P.F.G., Poelman, A.B., de Vreught, J.P.M., Sips, H.J. (1995). A formal approach to the compilation of data-parallel languages. In: Pingali, K., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1994. Lecture Notes in Computer Science, vol 892. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0025877

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58868-9

  • Online ISBN: 978-3-540-49134-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics