skip to main content
10.1145/1066650.1066653acmotherconferencesArticle/Chapter ViewAbstractPublication PageslcrConference Proceedingsconference-collections
Article

Efficient data driven run-time code generation

Published: 22 October 2004 Publication History

Abstract

Knowledge of data values at run-time allows us to generate better code in terms of efficiency, size and power consumption.This paper introduces a low-level compiling technique based on a minimal code generator with parametric embedded sections to generate binary code at run-time. This generator called a "compilet" creates code and allocates registers using the data input. Then, it generates the needed instructions. Our measurements, performed on Itanium 2 and PowerPC platforms have shown a speed improvement of 43% on the Itanium 2 platform and 41% on the PowerPC one.The proposed technique proves to be particularly useful in the case of intensively reused functions in graphic applications, where the advantages of dynamic compilation have not been fully taken into account yet.

References

[1]
Aycock, J. A brief history of just-in-time. ACM Comput. Surv. Volume 35, Issue 2 (2003), 97--113.
[2]
Brifault, K., and Charles, H.-P. Effective and economical run-time code generation driven by data for multimedia applications. Technical Report 2004/62, PRiSM Laboratory, University of Versailles, July 2004.
[3]
Consel, C., and Nol, F. A general approach for run-time specialization and its application to c. In Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages (January 1996), ACM Press, pp. 145--156.
[4]
Diefendorff, K., and Dubey, P. R. How multimedia workloads will change processor design. IEEE Computer Volume 30, No. 9 (September 1997), 43--45.
[5]
Folliot, B., Piumarta, I., Seinturier, L., Baillarguet, C., Khoury, C., Leger, A., and A1, F. O. Beyond flexibility and reflection: The virtual virtual machine approach. In International Workshop on Cluster Computing (September 2001), vol. 2326, Springer-Verlag Heidelberg, p. 16.
[6]
Frigo, M., and Johnson, S. G. The fastest Fourier transform in the west. Technical Report MIT-LCS-TR-728, Massachusetts Institute of Technology, September 1997.
[7]
Grant, B., Mock, M., Philipose, M., Chambers, C., and Eggers, S. J. The benefits and costs of dyc's run-time optimizations. ACM Trans. Program. Lang. Syst. Volume 22, Issue 5 (September 2000), 932--972.
[8]
Grant, B., Mock, M., Philipose, M., Chambers, C., and Eggers, S. J. Dyc: An expressive annotation-directed dynamic compiler for c. Theoretical Computer Science Volume 248, Issue 1-2 (October 2000).
[9]
Grant, B., Philipose, M., Mock, M., Chambers, C., and Eggers, S. J. An evaluation of staged run-time optimizations in dyc. In Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation (May 1999), ACM Press, pp. 293--304.
[10]
Joy, B., Steele, G., Gosling, J., and Bracha, G. Java(TM) Language Specification (First Edition). Addison-Wesley Pub Co, September 1996.
[11]
Kennedy, K., and Allen, R. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann, October 2001.
[12]
Lee, P., and Leone, M. Optimizing ml with run-time code generation. In Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation (1996), ACM Press, pp. 137--148.
[13]
Lee, R. B., and Smith, M. D. Media processing: a new design target. IEEE Micro Volume 16 (January 1997), 43--45.
[14]
Leone, M., and Dybvig, R. K. Dynamo: A staged compiler architecture for dynamic program optimization. Technical Report 490, Department of Computer Science, Indiana University, September 1997.
[15]
Leone, M., and Lee, P. A declarative approach to run-time code generation. In Workshop Record of WCSSS 1996: The Inaugural Workshop on Compiler Support for System Software (February 1996), ACM Press, pp. 8--17.
[16]
Mock, M., Chambers, C., and Eggers, S. J. Calpa: a tool for automating selective dynamic compilation. In Proceedings of the 33rd annual ACM/IEEE international symposium on Microarchitecture (December 2000), ACM Press, pp. 291--302.
[17]
Muchnick, S. Advanced Compiler Design and Implementation. Morgan Kaufmann, August 1997.
[18]
Nvidia Corporate Office. NVIDIA Cg Toolkit: Cg Language Specification, nvidia corporation ed. 2701 San Tomas Expressway, Santa Clara, CA 95050, August 2002.
[19]
Paleczny, M., Vick, C., and Click, C. The java hotspot server compiler. In Proceedings of the Java Virtual Machine Research and Technology Symposium (April 2001), vol. JVM 2001, USENIX, the Advanced Computing Systems Association, pp. 1--13.
[20]
Piumarta, I. Ccg: a tool for writing dynamic code generators. In Workshop on simplicity, performance and portability in virtual machine design held in conjunction with OOPSLA 1999 Conference (November 1999).

Cited By

View all
  • (2013)Introduction to Dynamic Code Generation: An Experiment with Matrix Multiplication for the STHORM PlatformSmart Multicore Embedded Systems10.1007/978-1-4614-8800-2_6(103-122)Online publication date: 11-Oct-2013
  • (2012)Automatic Optimization of In-Flight Memory Transactions for GPU Accelerators Based on a Domain-Specific Language for Medical ImagingProceedings of the 2012 11th International Symposium on Parallel and Distributed Computing10.1109/ISPDC.2012.36(211-218)Online publication date: 25-Jun-2012
  • (2012)ToucHMore toolchain and system software for energy and variability customisation2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)10.1109/HLDVT.2012.6418257(148-155)Online publication date: Nov-2012
  • Show More Cited By
  1. Efficient data driven run-time code generation

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    LCR '04: Proceedings of the 7th workshop on Workshop on languages, compilers, and run-time support for scalable systems
    October 2004
    134 pages
    ISBN:9781450377997
    DOI:10.1145/1066650
    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

    • The Texas Learning & Computation Center
    • University of Houston

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 22 October 2004

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    LCR04
    Sponsor:

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 17 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2013)Introduction to Dynamic Code Generation: An Experiment with Matrix Multiplication for the STHORM PlatformSmart Multicore Embedded Systems10.1007/978-1-4614-8800-2_6(103-122)Online publication date: 11-Oct-2013
    • (2012)Automatic Optimization of In-Flight Memory Transactions for GPU Accelerators Based on a Domain-Specific Language for Medical ImagingProceedings of the 2012 11th International Symposium on Parallel and Distributed Computing10.1109/ISPDC.2012.36(211-218)Online publication date: 25-Jun-2012
    • (2012)ToucHMore toolchain and system software for energy and variability customisation2012 IEEE International High Level Design Validation and Test Workshop (HLDVT)10.1109/HLDVT.2012.6418257(148-155)Online publication date: Nov-2012
    • (2007)Applying Code Specialization to FFT Libraries for Integral ParametersLanguages and Compilers for Parallel Computing10.1007/978-3-540-72521-3_8(96-110)Online publication date: 2007
    • (2006)Applying code specialization to FFT libraries for integral parametersProceedings of the 19th international conference on Languages and compilers for parallel computing10.5555/1757112.1757123(96-110)Online publication date: 2-Nov-2006

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media