skip to main content
article
Free Access

Generating parallel code for SIMD machines

Published:01 March 1992Publication History
Skip Abstract Section

Abstract

Massively parallel SIMD machines rely on data parallelism usually achieved by a careful hand coding to support program efficiency. This paper describes parallelization of code generated for SIMD machines by the compiler for the Equational Programming Language, EPL. The language supports architecture-independent scientific programming by recurrent equations. The EPL compiler serves as a programming aid for users of parallel machines by automating data partitioning and computation parallelization based on inherent data dependencies. In support of a Connection Machine architecture, the EPL compiler performs horizontal partitioning of the program, a process that selects a dimension of each data structure to be projected along the processor array. Each processor then holds a single instance of that structure and operations along the projected dimension are done in parallel. The paper describes horizontal partitioning, code generation in MPL and efficiency of programs generated for Maspar SIMD machine.

References

  1. 1 CHEN, M., CHOO, Y., AND LI, J. Crystal: theory and pragmatics of generating efficient parallel code. In Parallel Functional Languages and Compilers. ACM Press, New York, 1991, pp. 255-308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 FLYNN, M. Some computer organizations and their effectiveness IEEE Trans. Comput. C-21, 9 (Sept. 1972), 948-960.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 HILLIS, D. The Connection Machine. MIT Press, Cambridge, Mass., 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 KERNIGHAN, B., AND RITCHIE, D. The C Programming Language. Addison Wesley, Reading, Mass., 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 KNOBE, K., LUCAS, J., AND STEELE, G. Data optimization: allocation of arrays to reduce communication on SIMD machines. J. Parallel Distrib. Comput. 8, 2 (Feb. 1990), 102-118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 MASPAR COMPUTER CORPORATION. The MasPar Parallel Applicahon Language (MPL) Reference Manual. MasPar Computer Corporation. Sunnyvale, Calif., 1990.Google ScholarGoogle Scholar
  7. 7 MCKENNEY, B. An EPL scheduler for the Connection Machine. Master's thesis. Dept. of Computer Science, Rensselaer Polytechnic Institute, 1990.Google ScholarGoogle Scholar
  8. 8 SINHAROY, B., MCKENNEY, B., AND SZYMANSKI, B.K. Scheduling EPL programs for parallel processing. In Languages, Compilers, and Run-time Environments for D~stributed-Memory Machines, Mehrotra, P., and Saltz, J., Eds., Elsevier North Holland, New York, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 SINHAROY, B., AND SZYMANSKI, B. K. Data alignment in SIMD machines. Submitted to IEEE Trans. Parallel Distrib. Program. Also Tech. Rep. 91-9, Rensselaer Polytechnic Institute. Dept. of Computer Science, 1991.Google ScholarGoogle Scholar
  10. 10 SZYMANSKI, S.K. EPL--parallel programming with recurrent equations. In Parallel Functional Languages and Compilers. ACM Press, New York, 1991, pp. 51-104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 SZYMANSKI, B. K., Ed. Parallel Functional Languages and Compilers. ACM Press, New York, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 THINKING MACHINES CORPORATION. The C* Reference Manual. Thinking Machines Corporation. Cambridge, Mass., 1989.Google ScholarGoogle Scholar

Index Terms

  1. Generating parallel code for SIMD machines

              Recommendations

              Reviews

              James Curtis Miller

              The authors are concerned with the parallel code generated on a Connection Machine (CM) for a portion of the language EPL (Equation Programming Language). The paper is divided into two basic parts—the first describes the problem and the environment, and the second describes the implementation on a particular CM, a Mospar MP-1. The paper is divided into a general introduction to EPL, a general description of CMs, a more detailed description of the portion of the implementation of EPL that this paper is to deal with—the horizontal partitioning of data—and an analysis of how this partitioning is currently done for the Mospar MP-1 using MPL as a target language for the translation. The paper is a report on the current practice with indications of future directions in this area. It contains enough basic material to make it accessible to almost any computer scientist. I found it reasonably well written and easy to follow. While this paper is not intended as a tutorial, it does give the reader a feel for parallel languages and the problems associated with the translation to parallelism.

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Letters on Programming Languages and Systems
                ACM Letters on Programming Languages and Systems  Volume 1, Issue 1
                March 1992
                103 pages
                ISSN:1057-4514
                EISSN:1557-7384
                DOI:10.1145/130616
                Issue’s Table of Contents

                Copyright © 1992 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 March 1992
                Published in loplas Volume 1, Issue 1

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Author Tags

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!