Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • llvm/predtuner
1 result
Show changes
Commits on Source (2)
# 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. `current_version == 0.3`.
## Requirements
`predtuner` requires `python >= 3.7` and `pip`, preferrably `pip >= 20`.
To install from PyPI (currently TestPyPI), use
```bash
python -m pip install -i https://test.pypi.org/simple/ predtuner
```
### Install from Source
Alternatively, you can install this package from source.
At the root directory of this repository, do:
```bash
python -m pip install -e ./
```
With the flag `-e`, any changes to code in this repo is reflected on the installed version automatically.
It 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:
```bash
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](https://drive.google.com/file/d/1V_yd9sKcZQ7zhnO5YhRpOsaBPLEEvM9u/view?usp=sharing) 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](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.
## 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.
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. ``current_version == 0.3``.
Requirements
------------
``predtuner`` requires ``python >= 3.7`` and ``pip``, preferrably ``pip >= 20``.
To install from PyPI (currently TestPyPI), use
.. code-block:: bash
python -m pip install -i https://test.pypi.org/simple/ predtuner
Install from Source
^^^^^^^^^^^^^^^^^^^
Alternatively, you can install this package from source.
At the root directory of this repository, do:
.. code-block:: bash
python -m pip install -e ./
With the flag ``-e``, any changes to code in this repo is reflected on the installed version automatically.
It 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:
.. code-block:: bash
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 <https://drive.google.com/file/d/1V_yd9sKcZQ7zhnO5YhRpOsaBPLEEvM9u/view?usp=sharing>`_ 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 <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.
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.
import setuptools
with open("README.md", "r", encoding="utf-8") as fh:
with open("README.rst", "r", encoding="utf-8") as fh:
long_description = fh.read()
setuptools.setup(
......@@ -10,9 +10,13 @@ setuptools.setup(
author_email="yifanz16@illinois.edu",
description="A package for predictive and empirical approximation autotuning",
long_description=long_description,
long_description_content_type="text/markdown",
long_description_content_type="text/x-rst",
url="https://github.com/Evan-Zhao/predictive-tuner",
packages=["predtuner"],
packages=setuptools.find_packages(),
package_data={
"predtuner.approxes": ["default_approx_params.json"]
},
include_package_data=True,
install_requires=[
"matplotlib>=3.3",
"networkx>=2.5",
......