Abstract
We present a compiler algorithm called Bit Value, which can discover both unused and constant bits in dusty-deck C programs. Bit-Value uses forward and backward dataflow analyses, generalizing constant-folding and dead-code detection at the bit-level. This algorithm enables compiler optimizations which target special processor architectures for computing on non-standard bitwidths.
Using this algorithm we show that up to 31% of the computed bytes are thrown away (for programs from SpecINT95 and Mediabench). A compiler for reconfigurable hardware uses this algorithm to achieve substantial reductions (up to 20-fold) in the size of the synthesized circuits.
This work was supported by DARPA contract DABT63-96-C-0083 and an NSF CAREER grant.
Chapter PDF
Keywords
- Boolean Function
- Functional Unit
- Width Information
- 26th Annual International Symposium
- Subword Parallelism
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
J. Babb, M. Rinard, A. Moritz, W. Lee, M. Frank, R. Barua, and S. Amarasinghe. Parallelizing applications into silicon. In IEEE/FCCM Symposium on Field-Programmable Custom Computing Machines, Napa Valley, CA, April 1999. MIT.
K. Bondalapati and V.K. Prasanna. Dynamic precision management for loop computations on reconfigurable architectures. In IEEE/FCCM Symposium on Field-Programmable Custom Computing Machines, Napa Valley, CA, April 1999. Organization: University of Southern California.
D. Brooks and M. Martonosi. Dynamically exploiting narrow width operands to improve processor power and performance. In HPCA-5, January 1999. Princeton University.
M. Budiu and S.C. Goldstein. Fast compilation for pipelined reconfigurable fabrics. In ACM/FPGA Symposium on Field Programmable Gate Arrays, Monterey, CA, 1999.
M. Budiu and S.C. Goldstein. BitValue — Detecting and Exploiting Narrow Bitwidth Computations. Technical Report CMU-CS-00-141, Carnegie Mellon University, June 2000.
M. Damiani and G. de Micheli. Don’t care specifications in combinational and synchronous logic circuits. In IEEE Transactions on CAD/ICAS, pages 365–388, 1992.
S.C. Goldstein, H. Schmit, M. Moe, M. Budiu, S. Cadambi, R.R. Taylor, and R. Laufer. Piperench: A coprocessor for streaming multimedia acceleration. In Proceedings of the 26th Annual International Symposium on Computer Architecture, pages 28–39, May 1999.
C. Lee, M. Potkonjak, and W.H. Mangione-Smith. Mediabench: a tool for evaluating and synthesizing multimedia and communications systems. In Micro-30, 30th annual ACM/IEEE international symposium on Microarchitecture, pages 330–335, 1997.
P. Marwedel and G. Goossens, editors. Code generation for embedded processors. Kluwer Academic Press, 1995.
A. Peleg, S. Wilkie, and U. Weiser. Intel MMX for multimedia PCs. Communications of the ACM, 40(1):24–38, 1997.
Rahul Razdan. PRISC: Programmable reduced instruction set computers. PhD thesis, Harvard University, May 1994.
M. Stephenson, J. Babb, and S. Amarasinghe. Bitwidth analysis with application to silicon compilation. In Proceedings of the SIGPLAN conference on Programming Language Design and Implementation, June 2000.
E. Stoltz, M. P. Gerlek, and M. Wolfe. Extended SSA with Factored Use-Def chains to support optimization and parallelism. In Proceedings Hawaii International Conference on Systems Sciences, Maui, Hawaii, Jan. 1994.
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. In ACM SIGPLAN Notices, volume 29, pages 31–37, December 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Budiu, M., Sakr, M., Walker, K., Goldstein, S.C. (2000). BitValue Inference: Detecting and Exploiting Narrow Bitwidth Computations. In: Bode, A., Ludwig, T., Karl, W., Wismüller, R. (eds) Euro-Par 2000 Parallel Processing. Euro-Par 2000. Lecture Notes in Computer Science, vol 1900. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44520-X_137
Download citation
DOI: https://doi.org/10.1007/3-540-44520-X_137
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67956-1
Online ISBN: 978-3-540-44520-3
eBook Packages: Springer Book Archive