diff --git a/OpenProjects.html b/OpenProjects.html --- a/OpenProjects.html +++ b/OpenProjects.html @@ -16,6 +16,7 @@
  • Addressing Rust optimization failures
  • Remove undefined behavior from tests
  • Better performance models for MLGO training
  • +
  • Machine Learning Guided Ordering of Compiler Optimization Passes
  • Clang @@ -834,6 +835,43 @@ + +
    + Machine Learning Guided Ordering of Compiler Optimization Passes +
    + +
    +

    Description of the project + This continues the work of GSoC 2020 and 2021. + + Developers generally use standard optimization pipelines like -O2 and -O3 to + optimize their code. Manually crafted heuristics are used to determine which + optimization passes to select and how to order the execution of those passes. + However, this process is not tailored for a particular program, or kind + of program, as it is designed to perform “reasonably well” for any input. + + We want to improve the existing heuristics or replace the heuristics with + machine learning-based models so that the LLVM compiler can provide a superior + order of the passes customized per program. + + The last milestone enabled feature extraction, and started investigating training + a policy for selecting a more appropriate pass pipeline. +

    +

    Project size: either 175 or 350 hr.

    +

    Difficulty: Medium

    +

    Skills: C/C++, some compiler experience. ML experience is a bonus.

    +

    Expected outcomes: Pre-trained model selecting the most economical + optimization pipeline, with no loss in performance; hook-up of model in LLVM; + (re-)training tool; come up with new optimization sequences through search or learning.

    +

    Mentors + Tarindu Jayatilaka, Mircea Trofin, Johannes Doerfert +

    +

    + Discourse + URL +

    +
    +
    Google Summer of Code 2022