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...

Full description

Bibliographic Details
Published in:Communications of the ACM Vol. 59; no. 2; pp. 114 - 123
Main Authors: Schkufza, Eric, Sharma, Rahul, Aiken, Alex
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