Automating reinforcement learning architecture design for code optimization.
Check the website for more information.
Introduction
SUPERSONIC is a tool to automate reinforcement learning (RL) policy searching and tuning. It is designed to help compiler developers to find the right RL architecture and algorithm to use for an optimization task. It finds the right RL exploration algorithm, the reward function and a method for modeling the environment state.
Given an RL search space defined by the Supersonic Python API, the Supersonic meta-optimizer automatically searches for a suitable RL component composition for an optimization task. It also automatically tunes a set of tunable hyperparameters of the chosen components. No RL expertise is needed to use Supersonic.
Check our paper for detailed information.
Installation
Supersonic builds upon:
- Python v3.8
- CompilerGym
- Ray
The system was tested on the following operating systems:
- Ubuntu 18.04
- Fedora 28
- Debian 10
See INSTALL.md for further details.
Useage
See artifact_evaluation for an out-of-the-box demo of Supersonic.
Contributing
We welcome contributions to SuperSonic. If you are interested in contributing please see this document.