• DocumentCode
    509957
  • Title

    Portable compiler optimisation across embedded programs and microarchitectures using machine learning

  • Author

    Dubach, Christophe ; Jones, Timothy M. ; Bonilla, Edwin V. ; Fursin, Grigori ; O´Boyle, Michael F P

  • Author_Institution
    Sch. of Inf., Univ. of Edinburgh, Edinburgh, UK
  • fYear
    2009
  • fDate
    12-16 Dec. 2009
  • Firstpage
    78
  • Lastpage
    88
  • Abstract
    Building an optimising compiler is a difficult and time consuming task which must be repeated for each generation of a microprocessor. As the underlying microarchitecture changes from one generation to the next, the compiler must be retuned to optimise specifically for that new system. It may take several releases of the compiler to effectively exploit a processor´s performance potential, by which time a new generation has appeared and the process starts again. We address this challenge by developing a portable optimising compiler. Our approach employs machine learning to automatically learn the best optimisations to apply for any new program on a new microarchitectural configuration. It achieves this by learning a model off-line which maps a microarchitecture description plus the hardware counters from a single run of the program to the best compiler optimisation passes. Our compiler gains 67% of the maximum speedup obtainable by an iterative compiler search using 1000 evaluations. We obtain, on average, a 1.16x speedup over the highest default optimisation level across an entire microarchitecture configuration space, achieving a 4.3x speedup in the best case. We demonstrate the robustness of this technique by applying it to an extended microarchitectural space where we achieve comparable performance.
  • Keywords
    embedded systems; learning (artificial intelligence); optimising compilers; embedded program; iterative compiler search; machine learning; microarchitectural configuration; microarchitecture configuration space; microprocessor; portable compiler optimisation; portable optimising compiler; Computer interfaces; Informatics; Machine learning; Microarchitecture; Microprocessors; Optimization methods; Optimizing compilers; Permission; Portable computers; Program processors; architecture/compiler co-design; design-space exploration; machine learning;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 2009. MICRO-42. 42nd Annual IEEE/ACM International Symposium on
  • Conference_Location
    New York, NY
  • ISSN
    1072-4451
  • Print_ISBN
    978-1-60558-798-1
  • Type

    conf

  • Filename
    5375327