Z3Prover / z3

The Z3 Theorem Prover
Other
10.17k stars 1.47k forks source link

Parallel solving support? #2861

Closed EmnaBl closed 4 years ago

EmnaBl commented 4 years ago

Hello,

I am using the Java API and wondering if z3 has support for parallel solving so that I can use more than one core of my machine. Also are there any documentation about other techniques to enhance performance?

Thanks in advance for your help ! Blouta.

NikolajBjorner commented 4 years ago

There are couple of ways to tease out using threads:

Though I would say, these options are really for expert use. I doubt they work uniformly for all kinds of problems. Also, for very small problems, multi-threading is a waste. You can have different threads at your level, using separate contexts, as well. Another github issue documents some of the contention issues, some of which have been addressed at this point.

Some of the above options are mentioned here: https://theory.stanford.edu/~nikolaj/programmingz3.html