Stochastic program optimization for x86_64 binaries
Abstract/Contents
- Abstract
- The optimization of short sequences of loop-free fixed-point x86_64 code sequences is an important problem in high-performance computing. Unfortunately, the competing constraints of transformation correctness and performance improvement often force even special purpose compilers to produce sub-optimal code. We show that by encoding these constraints as terms in a cost function, and using a Markov Chain Monte Carlo sampler to rapidly explore the space of all possible programs, we are able to generate aggressively optimized versions of a given target program. Beginning from binaries compiled by gcc -O0, we are able to produce provably correct code sequences that either match or outperform the code produced by gcc -O3, and in some cases expert hand-written assembly. Because most high-performance applications contain floating-point computations, we extend our technique to this domain and show a novel approach to trading full floating-point precision for further increases in performance. We demonstrate the ability to generate reduced precision implementations of Intel's handwritten C numerics library that are up to six times faster than the original code, and achieve end-to-end speedups of over 30% on a direct numeric simulation and a ray tracer. Because optimizations that contain floating-point computations are not amenable to formal verification using the state of the art, we present a technique for characterizing maximum error and providing strong evidence for correctness.
Description
Type of resource | text |
---|---|
Form | electronic; electronic resource; remote |
Extent | 1 online resource. |
Publication date | 2015 |
Issuance | monographic |
Language | English |
Creators/Contributors
Associated with | Schkufza, Eric | |
---|---|---|
Associated with | Stanford University, Department of Computer Science. | |
Primary advisor | Aiken, Alexander | |
Thesis advisor | Aiken, Alexander | |
Thesis advisor | Hanrahan, P. M. (Patrick Matthew) | |
Thesis advisor | Horowitz, Mark (Mark Alan) | |
Advisor | Hanrahan, P. M. (Patrick Matthew) | |
Advisor | Horowitz, Mark (Mark Alan) |
Subjects
Genre | Theses |
---|
Bibliographic information
Statement of responsibility | Eric Schkufza. |
---|---|
Note | Submitted to the Department of Computer Science. |
Thesis | Thesis (Ph.D.)--Stanford University, 2015. |
Location | electronic resource |
Access conditions
- Copyright
- © 2015 by Eric D Schkufza
Also listed in
Loading usage metrics...