Stochastic Program Optimization.
The optimization of short sequences of loop-free, fixed-point assembly code sequences is an important problem in high-performance computing. However, the competing constraints of transformation correctness and performance improvement often force even special purpose compilers to produce sub-optimal...
| Published in: | Communications of the ACM Vol. 59; no. 2; pp. 114 - 123 |
|---|---|
| Main Authors: | , , |
| Format: | Article |
| Published: |
Association for Computing Machinery
Feb2016
|
| Subjects: | |
| Online Access: | View this record in EBSCOhost |
| fields | @attributes: recordID: 1 pdfLink: plink: https://search.ebscohost.com/login.aspx?direct=true&db=hlh&AN=112736862&site=ehost-live header: @attributes: shortDbName: hlh uiTerm: 112736862 longDbName: Humanities International Complete uiTag: AN controlInfo: bkinfo: jinfo: jid: 00010782 ACM jtl: Communications of the ACM issn: 00010782 maglogo: N pubinfo: dt: Feb2016 vid: 59 iid: 2 pid: 68 pub: Association for Computing Machinery artinfo: ui: 112736862 10.1145/2863701 ppf: 114 ppct: 9 formats: tig: atl: Stochastic Program Optimization. aug: au: Schkufza, Eric Sharma, Rahul Aiken, Alex affil: Stanford University, Stanford, CA. su: Optimizers (Computer software) Stochastic processes Compilers (Computer programs) Markov chain Monte Carlo Program transformation sug: subj: Optimizers (Computer software) Stochastic processes Compilers (Computer programs) Markov chain Monte Carlo Program transformation ab: The optimization of short sequences of loop-free, fixed-point assembly code sequences is an important problem in high-performance computing. However, 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 code sequences, we are able to generate aggressively optimized versions of a given target code sequence. Beginning from binaries compiled by llvm −O0, we are able to produce provably correct code sequences that either match or outperform the code produced by gcc −O3, icc −O3, and in some cases expert handwritten assembly. pubtype: Periodical doctype: Article src: R language: English refInfo: copyright: @attributes: flag: Y dt: @attributes: year: 2016 holdings: @attributes: islocal: N |
|---|