Parallelization of SAT Algorithms on GPUs

The Boolean Satisfability Problem is one of the most important problems in computer science with applications spannig many areas of research. Despite this importance and the extensive study and improvements that have been made, no efficient solution to the problem has been found to the date. During the last years, nVidia introduced CUDA, a platform which lets developers take advantage of the great computing power of the GPUs, that was once unavailable to use. In this work, we propose a methodology of using GPUs to accelerate the resolution of the SAT problem. Since the problem does not map well the GPU paradigm, we will explain our approach, which uses both the GPU and the CPU to solve the parts that suit them the best. We also propose developing a novel SAT solver, capable of solving current benchmark problems, as well as most industry problems.

[1]  Vasco M. Manquinho,et al.  Improving Search Space Splitting for Parallel SAT Solving , 2010, 2010 22nd IEEE International Conference on Tools with Artificial Intelligence.

[2]  Fang Yu,et al.  Designing an Efficient Hardware Implication Accelerator for SAT Solving , 2008, SAT.

[3]  Lakhdar Sais,et al.  ManySAT: a Parallel SAT Solver , 2009, J. Satisf. Boolean Model. Comput..

[4]  Lakhdar Sais,et al.  Control-Based Clause Sharing in Parallel SAT Solving , 2009, IJCAI.

[5]  Maria Paola Bonacina,et al.  PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems , 1996, J. Symb. Comput..

[6]  Rolf Wanka,et al.  3-SAT on CUDA: Towards a massively parallel SAT solver , 2010, 2010 International Conference on High Performance Computing & Simulation.

[7]  Joao Marques-Silva,et al.  The Impact of Branching Heuristics in Propositional Satisfiability Algorithms , 1999, EPIA.

[8]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[9]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[10]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[11]  Riccardo Zecchina,et al.  Survey propagation: An algorithm for satisfiability , 2002, Random Struct. Algorithms.

[12]  Armin Biere,et al.  Effective Preprocessing in SAT Through Variable and Clause Elimination , 2005, SAT.

[13]  Noriyuki Fujimoto,et al.  GPU Acceleration of BCP Procedure for SAT Algorithms , 2012 .

[14]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

[15]  Norbert Manthey,et al.  A More Efficient Parallel Unit Propagation , 2011 .

[16]  Sunil P. Khatri,et al.  Boolean satisfiability on a graphics processor , 2010, GLSVLSI '10.

[17]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[18]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[19]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[20]  Pradeep Dubey,et al.  Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU , 2010, ISCA.

[21]  Armin Biere Lingeling, Plingeling and Treengeling Entering the SAT Competition 2013 , 2013 .

[22]  Matthew W. Moskewicz,et al.  Cha : Engineering an e cient SAT solver , 2001, DAC 2001.

[23]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[24]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[25]  Ewald Speckenmeyer,et al.  A fast parallel SAT-solver — efficient workload balancing , 2005, Annals of Mathematics and Artificial Intelligence.

[26]  Bernd Becker,et al.  Multithreaded SAT Solving , 2007, 2007 Asia and South Pacific Design Automation Conference.

[27]  Wahid Chrabakh,et al.  GrADSAT: A Parallel SAT Solver for the Grid , 2003 .

[28]  Gilles Audemard,et al.  Predicting Learnt Clauses Quality in Modern SAT Solvers , 2009, IJCAI.

[29]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[30]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[31]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[32]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.