WSA 1993: Static Analysis pp 87-98 | Cite as
Compiling FX on the CM-2
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 OperationPreview
Unable to display preview. Download preview PDF.
References
- [1]Blelloch, G. E. Vector model for data-parallel computing. The MIT Press, 1990.Google Scholar
- [2]ANSI, Standard for the Information Systems Programming Language Fortran: S8(X3.9-198x), 1989.Google Scholar
- [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]Hillis, W. D. The Connection Machine. The MIT Press,1985.Google Scholar
- [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]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]
- [8]Rees, J. A., Adams, N. I., and Meehan, J. R. The T Manual, fourth edition. Yale University 1984.Google Scholar
- [9]Sabot, G. W. The Paralation Model. MIT Press 1990.Google Scholar
- [10]Rees, J., and Clinger W., Editors. Fourth Report on the Algorithmic Language Scheme, 1988.Google Scholar
- [11]Steele, G. L. Common Lisp, the language. Digital Press 1990.Google Scholar
- [12]*Lisp Reference Manual, version 4.0. Thinking Machines Corporation, Cambridge, 1987.Google Scholar
- [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]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