Abstract
We present a unified approach to compiling Fortran 77D and Fortran 90D programs for efficient execution of MIMD distributed-memory machines. The integrated Fortran D compiler relies on two key observations. First, array constructs may be scalarized into FORALL loops without loss of information. Second, loop fusion, partitioning, and sectioning optimizations are essential for both Fortran D dialects.
- AHMAD, I., CHOUDHARY, A., FOX, G., PARASURAM, K., PONNUSAMY, R., RANKA, S., AND THAKUR, R. 1992. Implementation and scalability of Fortran 90D intrinsic functions on distributed memory machines. Technical Report SCCS-256, NPAC, Syracuse Univ., Mar.Google Scholar
- ALBERT, E., KNOBE, K., LUKAS, J., AND STEELE, JR., G. 1988. Compiling Fortran 8x array features for the Connection Machine computer system. In Proceedings of the ACM SIGPLAN Symposium on Parallel programming: Expertence with Applications, Languages, and Systems (PPEALS) (New Haven, CT, July). ACM, New York. Google Scholar
- ALBERT, E., LUKAS, J., AND STEELE, JR., G. 1991. Data parallel computers and the FORALL statement. J. Parallel Distrtb. Comput. 13, 2 (Oct.), 185-192. Google Scholar
- ALLEN, J. R., AND KENNEDY, K. 1992. Vector register allocation. IEEE Trans. Comput. 41, 10 (Oct.), 1290-1317. Google Scholar
- ALLEN, J. a., AND KENNEDY, K. 1987. Automatic translation of Fortran programs to vector form. ACM Trans. Prog. Lang. Syst. 9, 4 (Oct.), 491-542. Google Scholar
- ANSI X3J3 / $8.115. 1990. Fortran 90, June. ANSI, New York.Google Scholar
- APPLIED PARALLEL RESEARCH. 1992. Forge 90 Distributed Memory Parallelizer: User's Guide, version 8.0 ed. Placerville, CA.Google Scholar
- BALASUNDARAM, V., Fox, G., KENNEDY, K., AND KREMER, U. 1991. A static performance estimator to guide data partitioning decisions. In Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programmtng (Williamsburg, VA, Apr.). ACM, New York. Google Scholar
- BALASUNDARAM, V., FOX, G., KENNEDY, K., AND KREMER, V. 1990. An interactive environment for data partitioning and distribution. In Proceedings of the 5th Distributed Memory Computing Conference (Charleston, SC, Apr.).Google Scholar
- BELTRAMETTI, M., BOBEY, K., AND ZORBAS, J. 1988. The control mechanism for the Myrias parallel computer system. Comput. Arch. News 16, 4 (Sept.), 21-30. Google Scholar
- BENKNER, S., CHAPMAN, B., AND ZIMA, H. 1992. Vienna Fortran 90. In Proceedings of the 1992 Scalable High Performance Computing Conference (Williamsburg, VA, Apr.).Google Scholar
- BRANDES, T. 1993. Automatic translation of data parallel programs to message passing programs. In Proceedings of AP'93 International Workshop on Automatic Distributed Memory Parallelization, Automatic Data Distributmn and Automatic Parallel Performance Prediction (Saarbriicken, Germany, Mar.).Google Scholar
- BROMLEY, M., HELLER, S., MCNERNEY, T., AND STEELE, JR., G. 1991. Fortran at ten gigaflops: The Connection Machine convolution compiler. In Proceedings of the SIGPLAN '91 Conference on Program Language Design and Implementation (Toronto, Canada, June). ACM, New York. Google Scholar
- CALLAHAN, D., AND KENNEDY, K. 1988. Compiling programs for distributed-memory multiprocessors. J. Supercomput. 2 (Oct.), 151-169.Google Scholar
- CARR, S., KENNEDY, K., MCKINLEY, K. S., AND TSENG, C. 1992. Compiler optimizations for improving data locality. Tech. Rep. TR92-195, Dept. of Computer Science, Rice Univ., Nov.Google Scholar
- CHATTERJEE, S., GILBERT, J., SCHREIBER, R., AND TENG, S. 1993. Automatic array alignment in data-parallel programs. In Proceedings of the 20th Annual ACM Symposium on the Principles of Programming Languages (Charleston, SC, Jan.). ACM, New York. Google Scholar
- CHEN, M., AND COWIE, J. 1992. Prototyping Fortran-90 compilers for massively parallel machines. In Proceedings of the SIGPLAN '92 Conference on Program Language Design and Implementation (San Francisco, CA, June). ACM, New York. Google Scholar
- COOPER, K., HALL, M. W., HOOD, R. T., KENNEDY, K., MCKINLEY, K. S., MELLOR-CRUMMEY, J. M., TORCZON, L., AND WARREN, S.K. 1993. The ParaScope parallel programming environment. Prec. IEEE 81, 2 (Feb.), 244-263.Google Scholar
- Fox, G., HIRANANDANI, S., KENNEDY, K., KOELBEL, C., KREMER, U., TSENG, C., AND WU, M. 1990. Fortran D language specification. Tech. Rep. TR90-141, Dept. of Computer Science, Rice Univ., Dec.Google Scholar
- HALL, M. W., HIRANANDANI, S., KENNEDY, K., AND TSENG, C. 1992. Interprocedural compilation of Fortran D for MIMD distributed-memory machines. In Proceedings of Supercomputing '92 (Minneapolis, MN, Nov.)~ Google Scholar
- HATCHER, P., QUINN, M., LAPADULA, A., SEEVERS, B., ANDERSON, R., AND JONES, R. 1991. Data-parallel programming on MIMD computers. IEEE Trans. Parallel Distrib. Syst. 2, 3 (July), 377-383. Google Scholar
- HIGH PERFORMANCE FORTRAN FORUM. 1993. High Performance Fortran language specification, version 1.0. Tech. Rep. CRPC-TR92225, Center for Research on Parallel Computation, Rice Univ., Houston, TX, Jan.Google Scholar
- HIRANANDANI, S., KENNEDY, K., KOELBEL, C., KREMER, U., AND TSENG, C. 1991. An overview of the Fortran D programming system. In Languages and Compilers for Parallel Computing, 4th International Workshop (Santa Clara, CA, Aug.), U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, Eds. Springer-Verlag, New York. Google Scholar
- HIRANANDANI, S., KENNEDY, K., AND TSENG, C. 1992a. Compiling Fortran D for MIMD distributed-memory machines. Commun. ACM 35, 8 (Aug.), 66-80. Google Scholar
- HIRANANDANI, S., KENNEDY, K., AND TSENG, C. 1992b. Evaluation of compiler optimizations for Fortran D on MIMD distributed-memory machines. In Proceedings of the 1992 ACM International Conference on Supercomputing (Washington, DC, July). ACM, New York. Google Scholar
- IKUDOME, K., FOX, G., KOLAWA, A., AND FLOWER, J. 1990. An automatic and symbolic parallelization system for distributed memory parallel computers. In Proceedings of the 5th Distributed Memory Computing Conference (Charleston, SC, Apr.).Google Scholar
- KENNEDY, K., AND KREMER, U. 1991. Automatic data alignment and distribution for loosely synchronous problems in an interactive programming environment. Tech. Rep. TR91-155, Dept. of Computer Science, Rice Univ., Apr.Google Scholar
- KENNEDY, K., AND MCKINLEY, K.S. 1992. Optimizing for parallelism and data locality. In Proceedings of the 1992 ACM international Conference on Supercomputing (Washington, DC, July). ACM, New York. Google Scholar
- KNOBE, K., LUKAS, J., AND STEELE, JR., G. 1990. Data optimization: Allocation of arrays to reduce communication on SIMD machines. J. Parallel Distrib. Comput. 8, 2 (Feb.), 102-118. Google Scholar
- KOELBEL, C., AND MEHROTRA, P. 1991. Compiling global name-space parallel loops for distributed execution. IEEE Trans. Parall. Distrib. Syst. 2, 4 (Oct.), 440-451. Google Scholar
- KUCK, D., KUHN, R., PADUA, D., LEASURE, B., AND WOLFE, M.J. 1981. Dependence graphs and compiler optimizations. In Conference Record of the 8th Annual ACM Symposium on the Principles of Programming Languages (Williamsburg, VA, Jan.). ACM, New York. Google Scholar
- LI, J~, AND CHEN, M. 1991. Compiling communication-efficient programs for massively parallel machines. IEEE Trans. Parall. Distrib. Syst. 2, 3 (July), 361-376. Google Scholar
- LUNDSTROM, S., AND BARNES, G. 1980. Controllable MIMD architectures. In Proceedings of the 1980 International Conference on Parallel Processing (St. Charles, IL, Aug.).Google Scholar
- MCKINLEY, K.S. 1992. Automatic and interactive parallelization. Ph.D. thesis, Dept. of Computer Science, Rice Univ., Apr. Google Scholar
- MISrtLIN, J. 1~9191. ADAFTing ForCran-90 array programs for distributed memory architectures. In First international Conference of the Austrian Center for Parallel Computation (Salzburg, Austria, Sept.).Google Scholar
- PARASOFT CORP. 1989. Express User's Manual.Google Scholar
- ROGERS, A., AND PINGALI, K. 1989. Process decomposition through locality of reference. In Proceedings of the SIGPLAN '89 Conference on Program Language Design and implementation (Portland, OR, June). ACM, New York. Google Scholar
- ROSING, M., SCHNABEL, R., AND WEAVER, R. 1991. The DINO parallel programming language. J. Parall. Distrib. Comput. 13, 1 (Sept.), 30-42. Google Scholar
- SARKAR, V., AND GAO, G. 1991. Optimization of array accesses by collective loop transformations. In Proceedings of the 1991 ACM International Conference on Supercomputmg (Cologne, Germany, June). ACM, New York. Google Scholar
- TSENG, C. 1993. An optimizing Fortran D compiler for MIMD distributed-memory machines. Ph.D. thesis, Dept. of Computer Science, Rice Univ., Jan. Google Scholar
- WOLFE, M.J. 1989. Optimizing Supercompilers for Supercomputers. The MIT Press, Cambridge, MA. Google Scholar
- Wu, M., AND FOX, G. 1992. A test suite approach for Fortran 90D compilers on MIMD distributed memory parallel computers. In Proceedings of the 1992 Scalable Hzgh Performance Computing Conference (Williamsburg, VA, Apr.).Google Scholar
- ZIMA, H., BAST, H.-J., AND GERNDT, M. 1988. SUPERB: A tool for semi-automatic MIMD/SIMD parallelization. Parallel Comput. 6, 1-18.Google Scholar
Index Terms
Unified compilation of Fortran 77D and 90D
Recommendations
The parallel Fortran family and a new perspective
PMMP '95: Proceedings of the conference on Programming Models for Massively Parallel ComputersVarious parallel Fortran languages have been developed over the years. The research work in creating this Parallel Fortran Family has made significant contributions to parallel programming language design and implementation. In this paper, various ...
Data-Parallel Programming on MIMD Computers
The implementation of two compilers for the data-parallel programming language Dataparallel C is described. One compiler generates code for Intel and nCUBE hypercube multicomputers; the other generates code for Sequent multiprocessors. A suite of ...
Comments