sat-group / open-wbo

Open-WBO: state-of-the-art MaxSAT and Pseudo-Boolean solver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Run open-wbo with multiple threads

haghshenas opened this issue · comments

Hi there,

Thanks for providing this great tool.
Considering that Glucose 4.1 supports multiple threads, is it possible to tweak open-wbo to run on multiple cores?
This would help a lot. Thanks.

Thanks for your interest in Open-WBO.

We currently call the SAT solver as black-box. I believe it should be possible to use the parallel version of Glucose instead of the sequential solver. The parallel version would need to support incremental SAT solving and computing an unsat core via assumptions. If this is the case, then the integration should be straightforward.

I will do some testing next week on using a parallel SAT solver as the back-end and will let you know if this is easily supported by Open-WBO.

Hi again,

Are there any updates with regards to this issue?
Did you have a chance to do testings?

Cheers!

I would be very interested in a parallel version! I am willing to contribute, but I have little knowledge of the inner workings of all the tools. Have we at least determined whether it is feasible?

From looking at the glucose 4.* code, it looks like the parallel solver implementations do not support assumptions in their implementation, hence the unsatisfiable core computation would also fail.

At this time, we do not plan to support parallel solving.

If the parallel SAT solver supports assumptions then it should be easy to integrate with Open-WBO. However, if this is not the case (like Glucose 4.*) then unsatisfiable-based algorithms will not work properly and you can only use the linear search sat-unsat algorithm (option -algorithm=1).

If you want to try parallel MaxSAT solving then I would recommend checking PWBO (even though it is an older solver it does support parallelism): http://sat.inesc-id.pt/pwbo/

I am closing this issue for now but if there are volunteers to either look for parallel SAT solvers that support assumptions or are interested in modifying a parallel SAT solver to be integrated in Open-WBO, then I would be happy to create a branch for that version and give some pointers.