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

skip to main content
10.5555/645989.674330acmconferencesArticle/Chapter ViewAbstractPublication PagespactConference Proceedingsconference-collections
Article

Software Bubbles: Using Predication to Compensate for Aliasing in Software Pipelines

Published: 22 September 2002 Publication History

Abstract

This paper describes a technique for utilizing predication to support software pipelining on EPIC architectures in the presence of dynamic memory aliasing. The essential idea is that the compiler generates an optimistic software-pipelined schedule that assumes there is no memory aliasing. The operations in the pipeline kernel are predicated, however, so that if memory aliasing is detected by a run-time check, the predicate registers are set to disable the iterationsthat are so tightly overlapped as to violate the memory dependences. We refer to these disabled kernel operations as software bubbles.

References

[1]
V. Allan, R. Jones, R. Lee, and S. Allan. Software pipelining. ACM Computing Surveys, 27(3), 1995.
[2]
D. Bernstein, D. Cohen, and D. Maydan. Dynamic memory disambiguation for array references. In Proceedings of the 27th Annual International Symposium on Microarchitecture, pages 105-112., San Jose, CA, November 1994.
[3]
J. Dongarra D. Callahan and D. Levine. Vectorizing compilers: a test suite and results. In Supercomputing '88, pages 98-105,1988.
[4]
J. Davidson and S. Jinturkar. Improving instructionlevel parallelism by loop unrolling and dynamic memory disambiguation. In Proceedings of the 28th annual international symposium on Microarchitecture, pages 125-132,1995.
[5]
S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997.
[6]
A. Nicolau. Run-time disambiguation: Coping with statically unpredictable dependencies. IEEE Transactions on Computers, 38(5):663-678, 1989.
[7]
B. R. Rau, M. Schlansker, and P. Tirumalai. Code generation schema for modulo scheduled loops. In Proceedings of the 25th Annual International Symposium on Microarchitecture, pages 158-169, Portland, OR, December 1992.
[8]
B. Su, S. Habib, W. Zhao, J. Wang, and Y. Wu. A study of pointer aliasing for software pipelining using run-time disambiguation. In Proceedings of the 27th Annual International Symposium on Microarchitecture, pages 112-117, November 1994.
[9]
The Trimaran Compiler Research Infrastrcture, http://www.trimaran.org.
[10]
N. Warter, D. Lavery, and W-M. Hwu. The benefit of predicated execution for software pipelining. In Proceedings of the 26th Annual Hawaii International Conference on System Sciences, pages 497-506, Wailea, Hawaii, January 1993.
[11]
M. Wolfe. High Performance Compilers for Parallel Computing. Addison-Wesley Publishing Company, 1995.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PACT '02: Proceedings of the 2002 International Conference on Parallel Architectures and Compilation Techniques
September 2002
168 pages
ISBN:0769516203

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 22 September 2002

Check for updates

Qualifiers

  • Article

Conference

PACT02
Sponsor:

Acceptance Rates

Overall Acceptance Rate 121 of 471 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Translation and Run-Time Validation of Loop TransformationsFormal Methods in System Design10.1007/s10703-005-3402-z27:3(335-360)Online publication date: 29-Dec-2018
  • (2010)Translation validation of loop optimizations and software pipelining in the TVOC frameworkProceedings of the 17th international conference on Static analysis10.5555/1882094.1882097(6-21)Online publication date: 14-Sep-2010
  • (2010)A simple, verified validator for software pipeliningACM SIGPLAN Notices10.1145/1707801.170631145:1(83-92)Online publication date: 17-Jan-2010
  • (2010)A simple, verified validator for software pipeliningProceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/1706299.1706311(83-92)Online publication date: 17-Jan-2010

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media