SRTuner is a tuning strategy that searches for the best possible optimization setting for the given run-time environment. Within the tuning budget, SRTuner endeavors to expose important inter-relatonship between optimizations and leverage them to focus on the promising search subspace. To allow fast integration, SRTuner is built in the form of python library that provides tuning primitives. Users can build a standalone tuning framework with these primitives or adopt them into the existing tuning framework as a new tuning method.
|- lib/
|- SRTuner/
|- core.py # SRTuner primitives
|- utils.py # utility functions
|- demo/
|- gcc
|- tuner/
|- common.py # basic structure of the tuning framework
|- srtuner.py # a standalone tuning framework built w/ SRTuner
|- baseline_tuners.py # baseline tuning frameworks w/ prior approaches
|- cBench/ # representative benchmark applications
|- gcc_opts.txt # optimizations and their possible configurations
|- tune_gcc.py # script that tunes GCC optimizations for cBench
|- tvm
|- setup.sh # setup script for tvm with srtuner
- Install Dependencies:
sudo apt-get install python3
pip3 install fast_histogram numpy anytree pandas
- Set environmental variable:
export SRTUNER_HOME=/path/to/repo
export PYTHONPATH=${SRTUNER_HOME}/lib:${PYTHONPATH}
demo/gcc
shows an example of building an independent tuning framework by using SRTuner primitives.
How to install
- Install SRTuner
- Install gcc
How to run
python3 tune_gcc.py