diff --git a/OpenProjects.html b/OpenProjects.html --- a/OpenProjects.html +++ b/OpenProjects.html @@ -13,6 +13,7 @@
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 +
+