ACM Home Page
Please provide us with feedback. Feedback
Automatic generation of peephole superoptimizers
Full text PdfPdf (241 KB)
Source Architectural Support for Programming Languages and Operating Systems archive
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems table of contents
San Jose, California, USA
SESSION: Compilation table of contents
Pages: 394 - 403  
Year of Publication: 2006
ISBN:1-59593-451-0
Also published in ...
Authors
Sorav Bansal  Stanford University
Alex Aiken  Stanford University
Sponsors
ACM: Association for Computing Machinery
SIGARCH: ACM Special Interest Group on Computer Architecture
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 98,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1168857.1168906
What is a DOI?

ABSTRACT

Peephole optimizers are typically constructed using human-written pattern matching rules, an approach that requires expertise and time, as well as being less than systematic at exploiting all opportunities for optimization. We explore fully automatic construction of peephole optimizers using brute force superoptimization. While the optimizations discovered by our automatic system may be less general than human-written counterparts, our approach has the potential to automatically learn a database of thousands to millions of optimizations, in contrast to the hundreds found in current peephole optimizers. We show experimentally that our optimizer is able to exploit performance opportunities not found by existing compilers; in particular, we show speedups from 1.7 to a factor of 10 on some compute intensive kernels over a conventional optimizing compiler.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Intel C++ Compiler 9.0. Software available at http://www.intel.com/software/products/compilers/clin.
 
2
Superoptimizer prototype. Available on the web at http://cs.stanford.edu/~sbansal/superoptimizer/.
 
3
B. Anckaert, F. Vandeputte, B.D. Bus, B.D. Sutter, and K.D. Bosschere. Link-time optimization of ia64 binaries. In Proceedings of the 10th International Euro-par Conference, pages 211--220, 2004.
4
5
6
 
7
8
 
9
X. Leroy, D. Doligez, J. Garrigue, and J. Vouillon. The Objective Caml system. Software and documentation available at http://caml.inria.fr.
10
11
 
12
L.V. Put, D. Chanet, B.D. Bus, B.D. Sutter, and K.D. Bosschere. Diablo: a reliable, retargetable and extensible link-time rewriting framework. In Proceedings of the 2005 IEEE International Symposium on Signal Processing and Information Technology, pages 7--12, 2005.
 
13


Collaborative Colleagues:
Sorav Bansal: colleagues
Alex Aiken: colleagues