Apache TVM is a compiler stack for deep learning systems. It is designed to close the gap between productivity-focused deep learning frameworks and performance and efficiency-focused hardware backends. TVM works with deep learning frameworks to provide end-to-end compilation to different backends.
This version of TVM enables the use of Bayesian Optimization as a search strategy in MetaSchedule.
We recommend following this guide or the steps below:
- Clone and build TVM-Bayesian-Optimization
$ git clone --recursive https://github.com/felix-ro/TVM-Bayesian-Optimization $ cd TVM-Bayesian-Optimization $ mkdir build $ cp cmake/config.cmake build/ $ cd build # Now configure the `config.cmake` file in the build directory $ cmake .. $ make -j4
- Standard TVM Python dependencies
$ pip install numpy decorator attrs tornado psutil 'xgboost>=1.1.0' cloudpickle bayesian-optimization
- Add TVM to python path
$ export PYTHONPATH=/path-to-tvm-unity/python:$PYTHONPATH
General usage examples with ready-to-use scripts can be found here.
For a brief overview of the results, see the slides here (fyi Safari sometimes fails to render them). For a more in-depth discussion of the project, see the report here.