Abstract
The rapid development of parallel architectures calls for solving the problem of programs portability (between parallel machines as well as between serial and parallel machines). This need is further emphasized due to the difficulty in the efficient use of current parallel languages and the existence of a large body of code written for serial machines.
The Octi parallelizer compiles a serial input program, written in C, into a number of subprograms to be run in parallel on distributed memory MIMD machines. The system provides a language extension for specifying data distribution among the processors. The paper also describes the parallelization algorithm, some of the new optimization techniques, and a method for automatic data distribution.
Preview
Unable to display preview. Download preview PDF.
References
R. Allen and K. Kennedy. Automatic translation of FORTRAN programs to vector form. ACM Trans. on Programming Languages and Systems, 9(4):491–542, October 1987.
M. Brode. Precompilation of fortran programs to facilitate array processing. Computer, 14(9):46–51, September 1981.
D. Callahan and K. Kennedy. Compiling programs for distributed-memory multiprocessors. The Journal of Supercomputing, 2(2):151–169, October 1988.
K. D. Cooper and K. Kennedy. Interprocedural side-effect analysis in linear time. In Proceedings — Fifth Annual ACM Symposium on Principles of Programming Languages, pages 49–59, 1989.
G. Fox, S. Hiranandani, K. Kennedy, Ch. Koelbel, U. Kremer, Ch. Tseng, and M. Wu. Fortran D language specification. Technical Report TR90-141, Dept. of Computer Science, Rice University, December 1990.
M. D. Guzzi, D. A. Padua, J. P. Hoeflinger, and D. H. Lawrie. Cedar fortran and other vector and parallel fortran dialects. Journal of Supercomputing, pages 37–62, March 1990.
S. Hiranandani, K. Kennedy, and C. Tseng. Compiler optimizations for fortran D on MIMD distributed machines. Technical Report TR91-156, Dept. of Computer Science, Rice University, April 1991.
C. Huson, T. Macke, J. R. Davies, M. J. Wolfe, and B. Leasure. The kap/205: An advanceed source-to-source vectorizer for the cyber 205 supercomputer. In International Conference on Parallel Processing, pages 827–832, 1986.
J. Katzenelson. Introduction to enhanced c (ec). Software Practice and Experience, 13:551–576, 1983.
D. Klappholz, A. Kallis, and X. Kong. Refined C: an update. In Second Workshop on Languages and Compilers for Parallel Processing, August 1989.
C. Koelbel, P. Mehrotra, and J. Van Rosendale. Supporting shared data structures on distributed memory architectures. In Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 177–186. ACM, March 1990.
D. Kuck, R. H. Kuhn, B. Leasure, and M. Wolfe. The structure of an advanced vectorizer for pipelined processors. In Proc. of COMPSAC 80, The 4th Int'l Computer Software and Applications Conf., pages 709–715, October 28–31 1980.
L. F. Ortiz, R. Y. Pinter, and S. S. Pinter. An array language for data parallelism: Definition, compilation, and applications. The Journal of Supercomputing, 5:7–29, 1991.
A. Rogers and K. Pingali. Process decomposition through locality of reference. In SIGPLAN'89 Conference on Programming Language Design and Implementation, pages 69–80. ACM, 1989.
M. Wolfe. The Tiny loop restrcuturing research tool. In Proceedings of the 1991 International Conference on Parallel Processing, Vol. II, pages 46–47, August 1991.
H. Zima, H. J. Bast, and M. Gerndt. Superb: A tool for semi-automatic mimd/simd parallelization. Parallel Computing, 6:1–18, 1988.
H. Zima, P. Brezany, B. Chapman, P. Mehrotra, and A. Schwald. Vienna Fortran — a language specification version 1.1. Technical Report NASA Contractor Report 189629, NASA Langley Research Center, Hampton, Virginia 23665, March 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lempel, O., Pinter, S., Turiel, E. (1993). Parallelizing a C Dialect for distributed memory MIMD machines. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1992. Lecture Notes in Computer Science, vol 757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57502-2_59
Download citation
DOI: https://doi.org/10.1007/3-540-57502-2_59
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57502-3
Online ISBN: 978-3-540-48201-7
eBook Packages: Springer Book Archive