Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phrb/sat-opentuner
An autotuner for SAT solving that uses OpenTuner.
https://github.com/phrb/sat-opentuner
Last synced: 18 days ago
JSON representation
An autotuner for SAT solving that uses OpenTuner.
- Host: GitHub
- URL: https://github.com/phrb/sat-opentuner
- Owner: phrb
- Created: 2015-02-03T16:47:08.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-05-16T00:26:09.000Z (over 9 years ago)
- Last Synced: 2023-08-03T06:10:17.251Z (over 1 year ago)
- Language: Python
- Size: 29.6 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Solving SAT instance sets with OpenTuner
This repository contains an auto-tuner and a brute force searcher that are used to find optimal combinations of solvers for a given SAT instance set. The auto-tuner is implemented using [OpenTuner](http://opentuner.org/), a framework for program auto-tuning.
## Python
### Dependencies
* Python 2.7
* [Opentuner](http://opentuner.org/tutorial/setup/)### Running the Brute Force Searcher
With default values:
```
$ python brute-force/brute_force.py
```## Running the Tuner
With default values:
```
$ python combinator/tuner.py
```###Scripts
#### Benchmarking
To benchmark all solvers using a given instance set, run:
```
$ ./scripts/benchmark.sh [RUNS] [SOLVERS] [LOG_DIR] [INSTANCE_SET] [INSTANCE_DIR][RUNS]: A number specifying how many times to run the solvers (sample size).
[SOLVERS], (0..7): A number specifying how many solvers to benchmark.
[LOG_DIR]: The path to log the benchmarks.
[INSTANCE_SET]: Where to find the file that specify the instances to solve.
[INSTANCE_DIR]: Where to find the instance files.
```#### Running the Tuner
This script runs OpenTuner to find good solver combinations for a given instance set, and logs all tuning results and the final best configuration.
```
$ ./scripts/run_experiments.sh [LOG_DIR] [TIME] [THREADS] [INSTANCE_DIR] [INSTANCE_SET] [INSTANCE_NUMBER] [CHUNKS] [RUNS] [BENCHMARK_RUNS][LOG_DIR]: The path to log the results.
[TIME]: The number of seconds to run OpenTuner for.
[THREADS]: Size of the OpenTuner ThreadPool.
[INSTANCE_DIR]: Where to find the instance files.
[INSTANCE_SET]: Where to find the file that specify the instances to solve.
[INSTANCE_NUMBER]: The size of the instance set.
[CHUNKS]: Number of subdivisions in the instance set.
[BENCH_RUNS]: A number specifying how many times to run OpenTuner.
[RUNS]: A number specifying how many times to run the combinations found (sample size).
```#### Benchmarking a Configuration File
Benchmarks a configuration file created by OpenTuner:
```
$ ./scripts/from_file_benchmark.sh [RUNS] [FILE_PATH] [FILE][RUNS]: A number specifying how many times to run the combinations found (sample size).
[FILE_PATH]: Where to find the file.
[FILE]: The file with the combination commands.
```## C++