PArallel INstantiabLE Sat Solver (Painless) is a framework written in C++ that simplifies the implementation and evaluation of new parallel SAT solvers for many-core environments. The components of Painless can be instantiated independently to produce a new complete solver. The guiding principle is to separate the technical components dedicated to some specific aspect of concurrent programming, from the components implementing heuristics and optimizations embedded in a parallel SAT solver.
Source Code (GPLv3)
P-MCOMSPS won 1st in the SAT Competition 2021 parallel track!
- Source code is available here.
P-MCOMSPS-STR won 1st in the SAT Competition 2020 parallel track!
Painless-MapleCOMSPS won 1st in the SAT Competition 2018 parallel track!
Painless-MapleCOMSPS won 3rd in the SAT Competition 2017 parallel track!
- A Machine Learning Based Splitting Heuristic for Divide-and-Conquer Solvers in Proceedings of the 26 th International Conference on Principles and Practice of Constraint Programming (CP'20)
- On the Usefulness of Clause Strengthening in Parallel SAT Solving in Proceedings of the 12th NASA Formal Methods Symposium (NFM'20)
- Community and LBD-based Clause Sharing Policy for Parallel SAT Solving in Proceedings of the 23rd International Conference on Theory and Applications of Satisfiability Testing (SAT'20)
- Modular and Efficient Divide-and-Conquer SAT Solver on Top of the Painless Framework in Proceedings of the 25th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'19)
- Painless: a Framework for Parallel SAT Solving in Proceedings of the 20th International Conference on Theory and Applications of Satisfiability Testing (SAT'17)
- P-MCOMSPS-STR: a Painless-based Portfolio of MapleCOMSPS with Clause Strengthening. in Proceedings of SAT Competition 2020: Solver and Benchmark Descriptions
- painless-mcomsps and painless-mcomsps-sym in Proceedings of SAT Competition 2018: Solver and Benchmark Descriptions
- painless-maplecomsps in Proceedings of SAT Competition 2017: Solver and Benchmark Descriptions