Autotuning and Predictive Autotuning
predtuner
performs autotuning on program approximation knobs using an error-predictive proxy
in place of the original program, to greatly speedup autotuning while getting results
comparable in quality.
Work in progress.
Requirements
pip
is needed for installing this package. At the root directory of this repo, do:
pip install -e .
-e
can be omitted if you don't intend to modify the code in this package.
Getting Started
The documentation page contains a full tutorial. Build the documentation by:
pip install sphinx sphinx_rtd_theme sphinx_autodoc_typehints
cd doc
make html
The documentation page will be created as doc/build/html/index.html
.
You can open this in the browser and browse to "Getting Started" section.
Model Data for Example / Testing
predtuner
contains 10 demo models which are also used in tests.
- Download and extract this file containing all 10 models, for testing purposes.
- The "Getting Started" example on the documentation page only uses VGG16-CIFAR10. If you don't need the other models, get the data for VGG16-CIFAR10 here.
In either case, there should be a model_params/
folder at the root of repo after extraction.
Tuning with HPVM Binary
This branch (hpvm
) contains beta support for HPVM binaries.
Please refer to examples/tune_hpvm_bin.py
for an example with explanations.