diff --git a/OpenProjects.html b/OpenProjects.html --- a/OpenProjects.html +++ b/OpenProjects.html @@ -13,6 +13,7 @@
  • @@ -687,6 +688,37 @@

    + +
    + Better performance models for MLGO training +
    + +
    +

    Description of the project + We are using machine-guided compiler optimizations ("MLGO") for register allocation eviction and inlining for size, in + real-life deployments. The ML models have been trained with reinforcement learning algorithms. Expanding to more + performance areas is currently impeded by the poor prediction quality of our performance estimation models. Improving + those is critical to the effectiveness of reinforcement learning training algorithms, and therefore to enabling applying + MLGO systematically to more optimizations. +

    +

    Project size: either 175 or 350 hr.

    +

    Difficulty: Medium

    +

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

    +

    Expected outcomes: Enhancement to llvm-mca (or similar) tool. Given native objects (.o or linked binary), and + profiling information (at minimum machine basic block frequency info; we can enhance with PMU data like LLC miss + probabilities or branch mispredicts), the tool produces a number (per function or per inter-procedural call graph rooted + at a function). The main goal is that variations in this value due to differences in compilation match + empirically-observable variations (i.e. if some benchmark has a 1% regression in cycles, the model outputs also vary by + ~1% in the same direction)

    +

    Mentors + Ondrej Sykora, Mircea Trofin, Aiden Grossman +

    +

    + Discourse + URL +

    +
    +
    Machine Learning Guided Ordering of Compiler Optimization Passes