MLGO RegAlloc Priority: What's the plan for higher-dim features? #552
Replies: 1 comment 3 replies
-
|
Re. eviction policy, what did you use as reward function? The current RegAllocScore is a very poor proxy for out of order architectures. If you can run representative benchmarks (emphasis on representative), that would be the most practical current alternative. @boomanaiden154 has a trace-based offline alternative in the works, but it's quite far from being upstreamed Re. priority policy: we aren't actively working on that at the moment, so if you wanted to evolve it, it'd be a great contribution to the llvm repo. In fact, the whole hope was that folks would apply the same methodology to other passes and that way we can improve both compiler and the methodology. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I've been experimenting with MLGO for register allocation in our compiler,
and wanted to share and ask a few questions:
✅ Eviction policy: Trained and integrated, but saw limited end-to-end gains.
Hypothesis: eviction only triggers on a subset of functions in our workloads,
so the model has fewer opportunities to influence the final code.
🎯 Priority policy: This seems more promising since it applies to nearly every
function. I've patched a few things locally to unblock testing, but I noticed
the current LLVM integration (main branch) only supports 3D features
for the priority policy. Two quick questions if anyone has context:
plans to support higher-dimensional features?
(Totally understand if it's uncertain – just trying to plan our integration efforts)
Thanks for the great work on MLGO! 🙏
Beta Was this translation helpful? Give feedback.
All reactions