Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/75427.75457acmconferencesArticle/Chapter ViewAbstractPublication PagescscConference Proceedingsconference-collections
Article
Free access

Using an architectural knowledge base to generate code for parallel computers

Published: 21 February 1989 Publication History

Abstract

Code generation for existing parallel computers involves partitioning the work into schedulable units, assigning the resulting computational units to specific processors, and generating the code for interprocessor communication and synchronization. The options for partitioning and mapping depend in detail on the problem being solved and the algorithm and architecture being used. For each new combination of problem, algorithm, and architecture, a new partitioning and mapping must be created and evaluated based on the actual communication costs incurred. If a particular choice of partition and map is found to be too inefficient when the communication cost is analyzed, it is usually necessary to repeat the code generation process from the beginning.
Given the complexity of this problem, it is not practical to develop a general algorithmic approach. A more promising approach is to develop restricted code generation strategies which are suitable for a class of problems and architectures, and compilers which use heuristic advice to guide code generation.
In this paper we present a compiler for distributed memory parallel computers which perform automatic program partitioning, mapping and communication code generation under the guidance of a strategy rule-base. All partitioning and mapping is performed automatically, and communication primitives are generated. We describe the compiler system and present an example code generation strategy for iterative elliptic partial differential equation solvers.

References

[1]
William Wulf, Richard K. Johnson, Charles B. Weinstock, Steven O. Hobbs, and Charles M. Geschke. The Design of an Optimizing Compiler. American Elsevier Publishing Company, New York, 1975.]]
[2]
R. Steven Glanville and Susan L. Graham. A New Method for Compiler Code Generation. In 5th Annual ACM Symposium on Principles of Programming Languages, pages 231-240. ACM SIGPLAN, 1978.]]
[3]
James W. Rymarczyk. Coding guidelines for pipelined processors. In Symposium on Architectural Support for Programming Languages and Operating Systems, pages 12-19, 1982.]]
[4]
Roderic G. G. Cattell, Joseph M. Newcomer, and Bruce W. Leverett. Code Generation in a Machine- Independent Compiler. ACM SIGPLAN Notices, 14(8):65-74, August 1979. Proceedings of the ACM SIG- PLAN '79 Symposium on Compiler Construction.]]
[5]
Andrew S. Tanenbaum, Hans van Staveren, E. G. Keizer, and Johan W. Stevenson. A Practical Tool Kit for Making Portable Compilers. Communications of the ACM, 26(9):654-660, September 1983.]]
[6]
Harlan Mills, Victor Basili, Jqhn Gannon, and Richard Hamlet. Principles of Computer Programming: A Mathematical Approach. Allyn & Bacon Inc., Newton, Mass., 1987.]]
[7]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison- Wesley, Reading, Mass., 1986.]]
[8]
Anthony E. Terrano. On the grain-size dependence of interprocessor communication demand. IEEE Transactions on Computing, submitted.]]

Cited By

View all
  • (1990)DISIPLE: digital signal processor programming language and environmentIEEE Transactions on Acoustics, Speech, and Signal Processing10.1109/29.10310038:11(2001-2003)Online publication date: Jan-1990
  • (1989)A compiler that easily retargets high level language programs for different signal processing architecturesInternational Conference on Acoustics, Speech, and Signal Processing10.1109/ICASSP.1989.266625(1103-1106)Online publication date: 1989

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CSC '89: Proceedings of the 17th conference on ACM Annual Computer Science Conference
February 1989
121 pages
ISBN:0897912993
DOI:10.1145/75427
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 February 1989

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

ICMI05
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)47
  • Downloads (Last 6 weeks)8
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (1990)DISIPLE: digital signal processor programming language and environmentIEEE Transactions on Acoustics, Speech, and Signal Processing10.1109/29.10310038:11(2001-2003)Online publication date: Jan-1990
  • (1989)A compiler that easily retargets high level language programs for different signal processing architecturesInternational Conference on Acoustics, Speech, and Signal Processing10.1109/ICASSP.1989.266625(1103-1106)Online publication date: 1989

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media