Skip to main content

Leveraging GPUs for Effective Clause Sharing in Parallel SAT Solving

  • Conference paper
  • First Online:
Theory and Applications of Satisfiability Testing – SAT 2021 (SAT 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12831))

Abstract

The past two decades have witnessed an unprecedented improvement in runtime performance of SAT solvers owing to clever software engineering and creative design of data structures. Yet, most entries in the annual SAT competition retain the core architecture of MiniSat, which was designed from the perspective of single core CPU architectures. Since 2005, however, there has been a significant shift to heterogeneous architectures owing to the impending end of Dennard scaling.

The primary contribution of this work is a novel multi-threaded CDCL-based framework, called \(\mathsf {GPUShareSat}\), designed to take advantage of CPU+GPU architectures. The core underlying principle of our approach is to divide the tasks among the CPU and the GPU so as to attempt to achieve the best of both worlds. We observe that bit-vector based operations can allow a GPU to efficiently determine the usefulness of a learnt clause to different threads and accordingly notify the thread of the presence of relevant clauses. This approach of checking all clauses against all assignments from different threads allows the GPU to exploit its potential for massive parallelism through clever group-testing strategy and bitwise operations.

Our detailed empirical analysis shows practical efficiency of our approach: in particular, \(\mathsf {GPUShareSat}\) augmented with the state-of-the-art single-threaded solver Relaxed_LCMDCBDL_newTech solved 19 more instances than the winner of the 2020 SAT competition’s parallel track, P-MCOMSPS-STR.

The accompany open source library is available at https://github.com/nicolasprevot/GpuShareSat.

N. Prevot—Independent Researcher.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The accompanying artefact consisting of detailed statistics is available at https://doi.org/10.5281/zenodo.4764813.

References

  1. Relaxed backtracking with rephasing. In Proceedings of SAT Competition 2020: Solver and Benchmark Descriptions, Department of Computer Science Report Series B 2020–1, pp. 15–16. University of Helsinki (2020)

    Google Scholar 

  2. Audemard, G., Simon, L.: Predicting learnt clauses quality in modern SAT solvers. In: Boutilier, C. (ed.) IJCAI 2009, pp. 399–404 (2009)

    Google Scholar 

  3. Audemard, G., Simon, L.: Lazy clause exchange policy for parallel SAT solvers. In: Sinz, C., Egly, U. (eds.) SAT 2014. LNCS, vol. 8561, pp. 197–205. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09284-3_15

    Chapter  MATH  Google Scholar 

  4. Beckers, S., De Samblanx, G., De Smedt, F., Goedeme, T., Struyf, L., Vennekens, J.: Parallel hybrid SAT solving using OpenCL. In: Benelux Conference on Artificial Intelligence. Springer (2012)

    Google Scholar 

  5. Biere, A.: Adaptive restart strategies for conflict driven SAT solvers. In: Kleine Büning, H., Zhao, X. (eds.) SAT 2008. LNCS, vol. 4996, pp. 28–33. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-79719-7_4

    Chapter  MATH  Google Scholar 

  6. Biere, A.: Lingeling, plingeling and treengeling entering the SAT competition 2013. In: Proceedings of SAT Competition 2013, vol. B-2013-1 of Department of Computer Science Series, pp. 51–52. University of Helsinki (2013)

    Google Scholar 

  7. Blondel, V.D., Guillaume, J.L., Lambiotte, R., Lefebvre, E.: Fast unfolding of communities in large networks. J. Stat. Mech. Theor. Exp. 2008(10), P10008 (2008)

    Article  Google Scholar 

  8. Braunstein, A., Mézard, M., Zecchina, R.: Survey propagation: an algorithm for satisfiability. Random Struct. Algorithms 27(2), 201–226 (2005)

    Article  MathSciNet  Google Scholar 

  9. Coates, A., Huval, B., Wang, T., Wu, D.J., Catanzaro, B., Andrew, Y.N.: Deep learning with COTS HPC systems. In: Proceedings of the 30th International Conference on Machine Learning, ICML 2013, Atlanta, GA, USA, 16–21 June 2013, volume 28 of JMLR Workshop and Conference Proceedings, pp. 1337–1345. JMLR.org (2013)

    Google Scholar 

  10. Dennard, R.H., Gaensslen, F.H., Yu, H., Rideout, V.L., Bassous, E., LeBlanc, A.R.: Design of ion-implanted MOSFET’s with very small physical dimensions. IEEE J. Solid-State Circuits 9(5), 256–268 (1974)

    Article  Google Scholar 

  11. Dorfman, R.: The detection of defective members of large populations. Ann. Math. Stat. 14(4), 436–440 (1943)

    Article  Google Scholar 

  12. Eén, N., Biere, A.: Effective preprocessing in SAT through variable and clause elimination. In: Bacchus, F., Walsh, T. (eds.) SAT 2005. LNCS, vol. 3569, pp. 61–75. Springer, Heidelberg (2005). https://doi.org/10.1007/11499107_5

    Chapter  MATH  Google Scholar 

  13. Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24605-3_37

    Chapter  Google Scholar 

  14. Hamadi, Y., Jabbour, S., Sais, L.: Manysat: a parallel SAT solver. J. Satisf. Boolean Model. Comput. 6(4), 245–262 (2009)

    MATH  Google Scholar 

  15. Heule, M., van Maaren, H.: Parallel SAT solving using bit-level operations. J. Satisf. Boolean Model. Comput. 4(2–4), 99–116 (2008)

    MATH  Google Scholar 

  16. Knuth, D.E.: The Art of Computer Programming, vol. 4, Fascicle 6: Satisfiability, 1st edn. Addison-Wesley Professional, Boston (2015)

    Google Scholar 

  17. Malik, S., Zhao, Y., Madigan, C.F., Zhang, L., Moskewicz, M.W.: Chaff: engineering an efficient SAT solver. In: Design Automation Conference, pp. 530–535 (2001)

    Google Scholar 

  18. Manolios, P., Zhang, Y.: Implementing survey propagation on graphics processing units. In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 311–324. Springer, Heidelberg (2006). https://doi.org/10.1007/11814948_30

    Chapter  Google Scholar 

  19. Marques-Silva, J., Lynce, I., Malik, S.: Conflict-driven clause learning sat solvers. In: Handbook of Satisfiability, pp. 131–153. IOS Press (2009)

    Google Scholar 

  20. Mazure, B., Sais, L., Grégoire, É.: Boosting complete techniques thanks to local search methods. Ann. Math. Artif. Intell. 22(3–4), 319–331 (1998)

    Article  MathSciNet  Google Scholar 

  21. Osama, M., Wijs, A.: Parallel SAT simplification on GPU architectures. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019, Part I. LNCS, vol. 11427, pp. 21–40. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17462-0_2

    Chapter  Google Scholar 

  22. Osama, M., Wijs, A., Biere, A.: Sat solving with GPU accelerated inprocessing. In: Proceedings of TACAS (2021)

    Google Scholar 

  23. Dal Palù, A., Dovier, A., Formisano, A., Pontelli, E.: Cud@sat: SAT solving on GPUs. J. Exp. Theor. Artif. Intell. 27(3), 293–316 (2015)

    Article  Google Scholar 

  24. Pipatsrisawat, K., Darwiche, A.: A lightweight component caching scheme for satisfiability solvers. In: Marques-Silva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 294–299. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72788-0_28

    Chapter  Google Scholar 

  25. Ryvchin, V., Strichman, O.: Local restarts. In: Kleine Büning, H., Zhao, X. (eds.) SAT 2008. LNCS, vol. 4996, pp. 271–276. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-79719-7_25

    Chapter  Google Scholar 

  26. Vallade, V., Le Frioux, L., Baarir, S., Sopena, J., Ganesh, V., Kordon, F.: Community and LBD-based clause sharing policy for parallel SAT solving. In: Pulina, L., Seidl, M. (eds.) SAT 2020. LNCS, vol. 12178, pp. 11–27. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-51825-7_2

    Chapter  MATH  Google Scholar 

  27. van der Tak, P., Heule, M., Biere, A.: Concurrent cube-and-conquer. CoRR, abs/1402.4465 (2014)

    Google Scholar 

  28. Zhang, H., Bonacina, M.P., Hsiang, J.: PSATO: a distributed propositional prover and its application to quasigroup problems. J. Symb. Comput. 21(4), 543–560 (1996)

    Article  MathSciNet  Google Scholar 

Download references

Acknowledgments

This work was supported in part by National Research Foundation Singapore under its NRF Fellowship Programme [NRF-NRFFAI1-2019-0004] and Sung Kah Kay Assistant Professorship Endowment. The computational work for this article was performed on resources of the National Supercomputing Centre, Singapore https://www.nscc.sg.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kuldeep S. Meel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Prevot, N., Soos, M., Meel, K.S. (2021). Leveraging GPUs for Effective Clause Sharing in Parallel SAT Solving. In: Li, CM., Manyà, F. (eds) Theory and Applications of Satisfiability Testing – SAT 2021. SAT 2021. Lecture Notes in Computer Science(), vol 12831. Springer, Cham. https://doi.org/10.1007/978-3-030-80223-3_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-80223-3_32

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-80222-6

  • Online ISBN: 978-3-030-80223-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics