|
104 | 104 | (define-fun y () Real 0.447214)) |
105 | 105 | ``` |
106 | 106 |
|
| 107 | +## Parallel Yices Example |
| 108 | + |
| 109 | +Yices can be run in parallel using a portfolio approach, which launches several instances of `yices_smt2` with different configurations and returns as soon as one instance finds a solution. This is useful for hard SMT problems where different configurations may solve the problem faster. |
| 110 | + |
| 111 | +A Python script is provided in `utils/yices2_parallel.py` for this purpose. Example usage: |
| 112 | + |
| 113 | +```sh |
| 114 | +python3 utils/yices2_parallel.py --yices /path/to/yices_smt2 -n 4 --verbose path/to/problem.smt2 |
| 115 | +``` |
| 116 | + |
| 117 | +- `--yices` specifies the path to the `yices_smt2` executable (default: `yices_smt2` in the script directory) |
| 118 | +- `-n` sets the number of parallel threads/configurations (default: 4) |
| 119 | +- `--verbose` enables detailed output |
| 120 | +- The last argument is the path to your SMT2 file |
| 121 | + |
| 122 | +The script will run several Yices instances in parallel and print the result (`sat`, `unsat`, or `unknown`) as soon as one instance finishes. |
| 123 | + |
| 124 | +For more options, run: |
| 125 | + |
| 126 | +```sh |
| 127 | +python3 utils/yices2_parallel.py --help |
| 128 | +``` |
| 129 | + |
107 | 130 | ## Installing Prebuilt Binaries |
108 | 131 |
|
109 | 132 | Currently you can install Yices either using Homebrew or Apt. |
@@ -245,46 +268,4 @@ This will build `./doc/manual/manual.pdf`. |
245 | 268 |
|
246 | 269 | Other documentation is in the `./doc` directory: |
247 | 270 |
|
248 | | -- `doc/COMPILING` explains the compilation process and options in detail. |
249 | | -- `doc/NOTES` gives an overview of the source code. |
250 | | -- `doc/YICES-LANGUAGE` explains the syntax of the Yices language, and |
251 | | - describes commands, functions, and heuristic parameters. |
252 | | - |
253 | | -To build the Sphinx documentation: |
254 | | -``` |
255 | | -cd doc/sphinx |
256 | | -make html |
257 | | -``` |
258 | | - |
259 | | -This will build the documentation in build/html (within directory |
260 | | -doc/sphinx). You can also do: |
261 | | -``` |
262 | | -make epub |
263 | | -``` |
264 | | -and you'll have the doc in `build/epub/Yices.epub`. |
265 | | - |
266 | | -## Getting Help and Reporting bugs |
267 | | - |
268 | | -For further questions about Yices, please contact us via the Yices |
269 | | -mailing lists [email protected]. This mailing list is moderated, |
270 | | -but you do not need to register to post to it. You can register to |
271 | | -this mailing list if you are interested in helping others. |
272 | | - |
273 | | -Please submit bug reports through GitHub issues. Please include enough |
274 | | -information in your bug report to enable us to reproduce and fix the |
275 | | -problem. This is an example of a good report: |
276 | | - |
277 | | -> I am experiencing a segmentation fault from Yices. The following |
278 | | -> is a small test case that causes the crash. I am using Yices 2.4.1 on |
279 | | -> x86_64 statically linked against GMP on Ubuntu 12.04. |
280 | | -
|
281 | | -This is an example of a poor bug report: |
282 | | - |
283 | | -> I have just downloaded Yices. After I compile my code and link it |
284 | | -> with Yices, there is a segmentation fault when I run the executable. |
285 | | -> Can you help? |
286 | | -
|
287 | | -Please try to include answers to the following questions: |
288 | | -* Which version of Yices are you using? |
289 | | -* On which hardware and OS? |
290 | | -* How can we reproduce the bug? If possible, include an input file or program fragment. |
| 271 | +- `doc/COMPILING` |
0 commit comments