Value-sensitive automatic code specialization for embedded software

Eui Young Chung, Luca Benini, Giovanni DeMicheli, Gabriele Luculli, Marco Carilli

Research output: Contribution to journalArticlepeer-review

9 Citations (Scopus)

Abstract

The objective of this work is to create a framework for the optimization of embedded software. We present algorithms and a tool flow to reduce the computational effort of programs, using value profiling and partial evaluation. Such a reduction translates into both energy savings and average-case performance improvement, while preserving a tolerable increase of worst case performance and code size. Our tool reduces the computational effort by specializing frequently executed procedures for the most common values of their parameters. The most effective specializations are automatically searched and identified, and the code is transformed through partial evaluation. Experimental results show that their technique improves both energy consumption and performance of the source code up to more than a factor of two, in average about 35% over the original program. Also, their automatic search engine greatly reduces code optimization time with respect to exhaustive search.

Original languageEnglish
Pages (from-to)1051-1067
Number of pages17
JournalIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Volume21
Issue number9
DOIs
Publication statusPublished - 2002 Sept

Bibliographical note

Funding Information:
Manuscript received November 16, 2001. This work was supported in part by the National Science Foundation under Grant CCR-9901190, by STMicroelec-tronics, and by GSRC/MARCO. Recommended by Associate Editor R. Cam-posano.

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'Value-sensitive automatic code specialization for embedded software'. Together they form a unique fingerprint.

Cite this