In this repository, we provide our code and the data.
- Python == 3.7.3
- Numpy == 1.14.3
- sklearn == 0.19.1
The folder benchmarks contains all the programs.
The folder cbench contains the programs of cBench.
The folder polybench contains the programs of PolyBench.
The folder algorithm contains all the code we used.
boca.py is the BOCA algorithm.
ga.py is the GA algorithm.
rio.py is the Random Iteration Optimization algorithm.
tpe.py is the TPE algorithm.
CompTuner.py is our proposed CompTuner algorithm.
We add a README file in the algorithm folder to help you understand and run the programs.
The folder results contains all the results of (speedup and time consumption for five techniques).
We add a README file in the result folder to help you understand the source data and result data for our expriments.
- In order to tune
gcc's optimization for programbenchmarks/cbench/automotive_bitcount, execute the following command:
python3 runCompTuner.py --bin-path (your gcc location) --driver (your gcc driver) --linker (your gcc linker) --src-dir 'benchmarks/cbench/automotive_bitcount' --execute-params 20
- In order to tune
llvm's optimization sequence for programbenchmarks/polybench/3mm, execute the followoing:
python3 runCompTuner.py --bin-path (your llvm location) --driver (your llvm driver) --linker (your llvm linker) --src-dir (3mm location) --libs '-I (resource for 3mm)
Different versions of compilers use different compilation commands, so please pay attention to modify the relevant statements.