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.
`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
Prerequisite packages are listed in `./env.yaml`. Conda is the validated and recommended way to set
up a working environment. If you're using conda, do
`pip` is needed for installing this package. At the root directory of this repo, do:
```bash
conda env create -n predtuner -f env.yaml
conda activate predtuner
pip install-e .
```
`-e` can be omitted if you don't intend to modify the code in this package.
## Model Data for Example / Testing
`predtuner` contains 10 demo models which are also used in tests.
- Download and extract [this](https://drive.google.com/file/d/1V_yd9sKcZQ7zhnO5YhRpOsaBPLEEvM9u/view?usp=sharing) file containing all 10 models, for testing purposes.
- The example only uses VGG16-CIFAR10. If you don't need the other models, get the data for VGG16-CIFAR10 [here](https://drive.google.com/file/d/1Z84z-nsv_nbrr8t9i28UoxSJg-Sd_Ddu/view?usp=sharing).
In either case, there should be a `model_params/` folder at the root of repo after extraction.