CompilerGym: A toolkit for reinforcement learning for compiler optimization
facebookresearch.github.io
facebookresearch.github.io
Just a heads-up for folks, we haven't fully cleaned up and gotten ready for public attention yet, we are 90% there.
Once we are golden, we're going to write a note with a way to submit the results of your own agents, compare with baselines (random, actor-critic), etc.
And as others noticed, in it's current form we're focusing on code size and phase ordering, but we will be expanding over time to other optimization problems like runtime.
ML is neat conceptually, but as far as practical applications this really excites me.
I am not an expert, but bayesian learning maybe more appropriate for such an expensive-sampling environment?
This works by changing around the order / interleaving of various LLVM optimization phases, so the learning process does not require knowledge of program timing or correctness.
It's more useful for C++ because inlining actually can benefit from this, as well as some other passes with speed/code size tradeoffs. So it might work here.
Are MuZero or the OpenAI baselines useful for RL compiler optimization?
Most of the interesting stuff I want to accomplish is avoiding intractable problems, if for no other reason than that our peers will accuse us of tilting at windmills or boiling the ocean.
Finding the problem you can solve is effectively relaxation.