skip to main content
10.1145/1363686.1363741acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Optimizing code through iterative specialization

Published: 16 March 2008 Publication History

Abstract

Code specialization is a way to obtain significant improvement in the performance of an application. It works by exposing values of different parameters in source code. The availability of these specialized values enables the compilers to generate better optimized code. Although most of the efficient source code implementations contain specialized code to benefit from these optimizations, the real impact of specialization may however vary depending upon the value of the specializing parameter.
In this paper, we suggest the specialization of code to acquire an iterative approach. For some specialized code, we search for a better version of code by re-specializing the code, followed by a low-level code analysis. The specialized versions fulfilling the required criteria are then transformed to generate another equivalent version of the original specialized code.
The approach has been tested on Itanium-II architecture using icc compiler. The results show significant improvement in the performance of different behchmarks.

References

[1]
M. Ahmad, H.-P. Charles, and D. Barthou. Reducing code size explosion through low-overhead specialization. In 11th Annual Workshop INTERACT-11, Phoenix, 2007.
[2]
M. Barreteau, F. Bodin, P. Brinkhaus, Z. Chamski et al. Oceans: Optimizing compilers for embedded applications. In Proceeding of Euro-Par98, 1998.
[3]
F. Bodin, T. Kisuk, P. M. W. Knijnenburg et al. Iterative compilation in a non-linear optimisation space. In Workshop on Prole 14 and Feedback-Directed Compilation, France, 1998.
[4]
C. Consel, L. Hornof, R. Marlet et al. Tempo: specializing systems applications and beyond. ACM Computing Surveys, 30(3es), 1998.
[5]
M. Frigo and S. G. Johnson. FFTW: An adaptive software architecture for the FFT. In Intl. Conf. on Acoustics, Speech, and Signal Processing, WA, 1998.
[6]
B. Grant, M. Mock, M. Philipose, C. Chambers, and S. J. Eggers. Dyc: An expressive annotation-directed dynamic compiler for c. Tech. report, Univ. of Washington, 1999.
[7]
http://ffmpeg.sourceforge.net. Ffmpeg, Apr. 2006.
[8]
M. Leone and R. K. Dybvig. Dynamo: A staged compiler architecture for dynamic program optimization. Technical report, Indiana Univ., 1997.
[9]
M. Ahmad and H. P. Charles. Improving multimedia applications through specialization of DCT/IDCT kernels. IEEE Intl. conf. on Signal Processing and Communications(ICSPC07), 2007.
[10]
M. Poletto, W. C. Hsieh, D. R. Engler, and F. M. Kaashoek. 'c and tcc: A language and compiler for dynamic code generation. ACM TOPLAS, 1998.
[11]
B. R. Rau. Iterative modulo scheduling: An algorithm for software pipelining loops. In 27th Intl. Symposium on Microarchitecture, 1994.
[12]
S. Triantafyllis, M. Vachharajani, N. Vachharajani, and D. August. Compiler optimization space exploration. In 'CGO-03, March 2003.
[13]
R. C. Whaley and J. Dongarra. Automatically Tuned Linear Algebra Software. Technical Report UT-CS-97-366, Univ. of Tennessee, December 1997.
[14]
H. Zhou. Code size efficiency in global scheduling for ilp processors, 2002.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '08: Proceedings of the 2008 ACM symposium on Applied computing
March 2008
2586 pages
ISBN:9781595937537
DOI:10.1145/1363686
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 March 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. analysis and transformation
  2. compiling techniques
  3. program optimization and specialization
  4. programming languages implementation

Qualifiers

  • Research-article

Conference

SAC '08
Sponsor:
SAC '08: The 2008 ACM Symposium on Applied Computing
March 16 - 20, 2008
Fortaleza, Ceara, Brazil

Acceptance Rates

Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 147
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

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