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

skip to main content
article
Free access

Bidwidth analysis with application to silicon compilation

Published: 01 May 2000 Publication History

Abstract

This paper introduces Bitwise, a compiler that minimizes the bitwidth the number of bits used to represent each operand for both integers and pointers in a program. By propagating 70 static information both forward and backward in the program dataflow graph, Bitwise frees the programmer from declaring bitwidth invariants in cases where the compiler can determine bitwidths automatically. Because loop instructions comprise the bulk of dynamically executed instructions, Bitwise incorporates sophisticated loop analysis techniques for identifying bitwidths. We find a rich opportunity for bitwidth reduction in modern multimedia and streaming application workloads. For new architectures that support sub-word data-types, we expect that our bitwidth reductions will save power and increase processor performance.
This paper also applies our analysis to silicon compilation, the translation of programs into custom hardware, to realize the full benefits of bitwidth reduction. We describe our integration of Bitwise with the DeepC Silicon Compiler. By taking advantage of bitwidth information during architectural synthesis, we reduce silicon real estate by 15 - 86%, improve clock speed by 3 - 249%, and reduce power by 46 - 73%. The next era of general purpose and reconfigurable architectures should strive to capture a portion of these gains.

References

[1]
C. S. Ananian. The Static Single Information Form. Technical Report MIT-LCS-TR-801, Massachusetts Institute of Technology, 1999.]]
[2]
Annapolis Micro Systems, Inc., Annapolis, MD. WILD- ONE(tin) Reference Manual, 1999. Revision 3.3.]]
[3]
J. Babb. High-Level Compilation For Reconfigurable Architectures. PhD thesis, EECS Department, MIT, Department of Electrical Engineering and Computer Science, May 2000.]]
[4]
J. Babb, M. Rinard, A. Moritz, W. Lee, M. Frank, R. Barua, and S. Amarasinghe. Parallelizing Applications Into Silicon. In Proceedings of the IEEE Workshop on FPCAs for Custom Computing Machines (FCCM), Napa Valley, CA, April 1999.]]
[5]
R. Barua, W. Lee, S. Amarasinghe, and A. Agarwal. Maps: A Compiler-Managed Memory System for Raw Machines. In Proceedings of the 26th International Symposium on Computer Architecture, Atlanta, GA, May 1999.]]
[6]
Bitwise Project. http://www, cag. lcs.mit, edu/bitwise.]]
[7]
D. Brooks and M. Martonosi. Dynamically Exploiting Narrow Width Operands to Improve Processor Power and Performance. In 5th International Symposium of High Performance Computer Architecture, January 1999.]]
[8]
M. Budiu, S. Goldstein, M. Sakr, and K. Walker. BitValue inference: Detecting and exploiting narrow bitwidth computations. In Proceedings of the EuroPar 2000 European Conference on Parallel Computing, Munich, Germany, Aug. 2000.]]
[9]
R. French, M. Lam, J. Levitt, and K. Olukotun. A General Method for Compiling Event-Driven Simulations. 32nd A CM/IEEE Design Automation Conference, June 1995.]]
[10]
M. P. Gerlek, E. Stoltz, and M. Wolfe. Beyond Induction Variables: Detecting and Classifying Sequences Using a Demand-Driven SSA Form. A CM Transactions on Programming Languages and Systems, 17(1):85-122, January 1995.]]
[11]
W. Harrison. Compiler Analysis of the Value Ranges for Variables. IEEE Transactions on Software Engineering, 3:243-250, May 1977.]]
[12]
IKOS Systems, Inc. VirtuaLogic Emulation System Documentation, 1999. Version 3.0.4.]]
[13]
R. Johnson and K. Pingali. Dependence-Based Program Analysis. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pages 78-89, 1993.]]
[14]
J. Kin, M. Gupta, and W. H. Magione-Smith. The Filter Cache: An Energy Efficient Memory Structure. Micro-30.]]
[15]
K. Knobe and V. Sarkar. Array SSA form and its use in Parallelization. In Principles of Programming Languages (POPL 93), pages 107-120.]]
[16]
S. Larsen and S. Amarasinghe. Exploiting Superword Level Parallelism with Multimedia Instruction Sets. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, Vancouver, BC, June 2000.]]
[17]
W. Lee, R. Barua, M. Frank, D. Srikrishna, J. Babb, V. Sarkar, and S. Amarasinghe. Space-Time Scheduling of Instruction-Level Parallelism on a Raw Machine. In Proceedings of the Eighth A CM Conference on Architectural Support for Programming Languages and Operating Systems, pages 46-57, San Jose, CA, Oct. 1998.]]
[18]
Open SystemC Initiative. http://www.systemc, org.]]
[19]
J. Patterson. Accurate Static Branch Prediction by Value Range Propagation. In Proceedings of the SIC- PLAN Conference on Programming Language Design and Implementation, volume 37, pages 67-78, June 1995.]]
[20]
A. Peleg and U. Weiser. MMX Technology Extension to Intel Architecture. 16(4):42-50, Aug 1996.]]
[21]
R. Razdan. PRISC: Programmable Reduced Instruction Set Computers. PhD thesis, Division of Applied Science, Harvard University, (Harvard University Technical Report 14-94, Center for Research in computing technologies), May 1994.]]
[22]
R. Rugina and M. Rinard. Pointer Analysis for Multithreaded Programs. In Proceedings of the SIGPLAN Conference on Program Language Design and Implementation, pages 77-90, Atlanta, GA, May 1999.]]
[23]
R. Rugina and M. Rinard. Automatic Parallelization of Divide and Conquer Algorithms. In Proceedings of the SIGPLAN Conference on Program Language Design and Implementation, Vancouver, BC, June 2000.]]
[24]
M. D. Smith. Extending SUIF for Machine-dependent Optimizations. In Proceedings of the First S UIF Compiler Workshop, pages 14-25, Stanford, CA, Jan. 1996.]]
[25]
J. Tyler, J. Lent, A. Mather, and H. V. Nguyen. A1- tiVec(tm): Bringing Vector Technology to the PowerPC(tm) Processor Family. Phoenix, AZ, February 1999.]]
[26]
R. Wilson, R. French, C. Wilson, S. Amarasinghe, J. Anderson, S. Tjiang, S.-W. Liao, C.-W. Tseng, M. Hall, M. Lam, and J. Hennessy. SUIF: An Infrastructure for Research on Parallelizing and Optimizing Compilers. A CM SIGPLAN Notices, 29(12), Dec. 1996.]]

Cited By

View all
  • (2023)A Multi-threaded Fast Hardware Compiler for HDLsProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580254(25-36)Online publication date: 17-Feb-2023
  • (2022)Pushing the Level of Abstraction of Digital System Design: A Survey on How to Program FPGAsACM Computing Surveys10.1145/353298955:5(1-48)Online publication date: 3-Dec-2022
  • (2022)FPGA HLS Today: Successes, Challenges, and OpportunitiesACM Transactions on Reconfigurable Technology and Systems10.1145/353077515:4(1-42)Online publication date: 8-Aug-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 35, Issue 5
May 2000
357 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/358438
Issue’s Table of Contents
  • cover image ACM Conferences
    PLDI '00: Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
    August 2000
    358 pages
    ISBN:1581131992
    DOI:10.1145/349299
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 2000
Published in SIGPLAN Volume 35, Issue 5

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)105
  • Downloads (Last 6 weeks)14
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Multi-threaded Fast Hardware Compiler for HDLsProceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction10.1145/3578360.3580254(25-36)Online publication date: 17-Feb-2023
  • (2022)Pushing the Level of Abstraction of Digital System Design: A Survey on How to Program FPGAsACM Computing Surveys10.1145/353298955:5(1-48)Online publication date: 3-Dec-2022
  • (2022)FPGA HLS Today: Successes, Challenges, and OpportunitiesACM Transactions on Reconfigurable Technology and Systems10.1145/353077515:4(1-42)Online publication date: 8-Aug-2022
  • (2022)A polynomial time exact solution to the bit-aware register binding problemProceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction10.1145/3497776.3517773(29-40)Online publication date: 19-Mar-2022
  • (2020)ZeroSpy: Exploring Software Inefficiency with Redundant ZerosSC20: International Conference for High Performance Computing, Networking, Storage and Analysis10.1109/SC41405.2020.00033(1-14)Online publication date: Nov-2020
  • (2018)SNrramProceedings of the 55th Annual Design Automation Conference10.1145/3195970.3196116(1-6)Online publication date: 24-Jun-2018
  • (2018)LAWN: Boosting the performance of NVMM File System through Reducing Write Amplification2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC)10.1109/DAC.2018.8465891(1-6)Online publication date: Jun-2018
  • (2018)ACED: A Hardware Library for Generating DSP Systems2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC)10.1109/DAC.2018.8465790(1-6)Online publication date: Jun-2018
  • (2018)Analysis of Finite Word-Length Effects in Fixed-Point SystemsHandbook of Signal Processing Systems10.1007/978-3-319-91734-4_29(1063-1101)Online publication date: 14-Oct-2018
  • (2017)A Bitwidth-Aware High-Level Synthesis Algorithm Using Operation Chainings for Tiled-DR ArchitecturesIEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences10.1587/transfun.E100.A.2911E100.A:12(2911-2924)Online publication date: 2017
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media