diff --git a/OpenProjects.html b/OpenProjects.html --- a/OpenProjects.html +++ b/OpenProjects.html @@ -14,6 +14,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: Better modeling of the execution environment by including additional runtime/profiling + information, such as additional PMU data, LLC miss probabilities or branch mispredictions. This involves (1) building + a data collection pipeline that covers additional runtime information, (2) modifying the ML models to allow processing + this data, and (3) modifying the training and inference process for the models to make use this data. +
Today, the models are almost pure static analysis; they see the instructions, but they make one-size-fits-all + assumptions about the execution environment and the runtime behavior of the code. The goal of this project is to move + from static analysis towards more dynamic models that better represent code the way it actually executes.
+Mentors + Ondrej Sykora, Mircea Trofin, Aiden Grossman +
++ Discourse + URL +
+