WSA 1993: Static Analysis pp 87-98 | Cite as

Compiling FX on the CM-2

  • Jean-Pierre Talpin
  • Pierre Jouvelot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 724)

Abstract

Type and effect systems provide a safe and effective means of programming high-performance parallel computers with a high-level language that integrates both functional and imperative paradigms. Just as types describe what expressions compute, effects describe how expressions compute. Types and effects are associated with regions that describe where dynamically-allocated data structures reside in memory. We show how types, regions and effects can be used to discover when global operations on vectors are amenable to data parallelism in the presence of both side effects and higher-order functions.

To substantiate our claims that effects are an effective medium for addressing the issues of code generation for full-fledged languages on massively parallel computers, we describe the design and implementation of a CM-2 compiler prototype for the polymorphically typed FX language.

Keywords

Single Instruction Multiple Data Static Semantic Parallel Code Data Parallelism Vector Operation 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Blelloch, G. E. Vector model for data-parallel computing. The MIT Press, 1990.Google Scholar
  2. [2]
    ANSI, Standard for the Information Systems Programming Language Fortran: S8(X3.9-198x), 1989.Google Scholar
  3. [3]
    Gifford, D. K., Jouvelot, P., Lucassen, J. M., and Sheldon, M. A. FX-87 Reference Manual. MIT/LCS/TR-407, MIT Laboratory for Computer Science, September 1987.Google Scholar
  4. [4]
    Hillis, W. D. The Connection Machine. The MIT Press,1985.Google Scholar
  5. [5]
    Lucassen, J. M., and Gifford, D. K. Polymorphic Effect Systems. In Proceedings of the 1988 ACM Conference on Principles of Programming Languages. ACM, New-York, 1988.Google Scholar
  6. [6]
    Milner, R. A Theory for type polymorphism in programming. In Journal of Computer and Systems Sciences, Vol. 17, pages 348–375. 1978.Google Scholar
  7. [7]
    Milner, R., Tofte, M., Harper, R. The definition of Standard ML. The MIT Press, 1990.Google Scholar
  8. [8]
    Rees, J. A., Adams, N. I., and Meehan, J. R. The T Manual, fourth edition. Yale University 1984.Google Scholar
  9. [9]
    Sabot, G. W. The Paralation Model. MIT Press 1990.Google Scholar
  10. [10]
    Rees, J., and Clinger W., Editors. Fourth Report on the Algorithmic Language Scheme, 1988.Google Scholar
  11. [11]
    Steele, G. L. Common Lisp, the language. Digital Press 1990.Google Scholar
  12. [12]
    *Lisp Reference Manual, version 4.0. Thinking Machines Corporation, Cambridge, 1987.Google Scholar
  13. [13]
    Talpin, J. P., and Jouvelot, P. Polymorphic Type, Region and Effect Inference. In the Journal of Functional Programming, volume 2, number 3. Cambridge University Press, 1992.Google Scholar
  14. [14]
    Talpin, J. P. Aspects Théoriques et Pratiques de l'Inférence de Type et d'Effet. Doctoral dissertation. University Paris VI, May 12th, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Jean-Pierre Talpin
    • 1
  • Pierre Jouvelot
    • 2
  1. 1.Ecole des Mines de ParisCRIFrance
  2. 2.ECRC GmbHMunchen 81

Personalised recommendations