Implementing Survey Propagation on Graphics Processing Units

  • Panagiotis Manolios
  • Yimin Zhang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4121)


We show how to exploit the raw power of current graphics processing units (GPUs) to obtain implementations of SAT solving algorithms that surpass the performance of CPU-based algorithms. We have developed a GPU-based version of the survey propagation algorithm, an incomplete method capable of solving hard instances of random k-CNF problems close to the critical threshold with millions of propositional variables. Our experimental results show that our GPU-based algorithm attains about a nine-fold improvement over the fastest known CPU-based algorithms running on high-end processors.


Graphic Processing Unit Survey Propagation Factor Graph Frame Buffer Texture Memory 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Braunstein, A., Mezard, M., Zecchina, R.: Survey propagation: an algorithm for satisfiability. Random Structures and Algorithms 27, 201–226 (2005)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Braunstein, A., Zecchina, R.: Survey and belief propagation on random k-SAT. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 519–528. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Cook, S.A., Mitchell, D.G.: Finding hard instances of the satisfiability problem: A survey. In: Du, Gu, Pardalos (eds.) Satisfiability Problem: Theory and Applications, vol. 35, pp. 1–17. American Mathematical Society (1997)Google Scholar
  4. 4.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM 5(7), 394–397 (1962)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Dubois, O., Monasson, R., Selman, B., Zecchina, R.: Statistical mechanics methods and phase transitions in optimization problems. Theoretical Computer Science 265(3–67) (2001)Google Scholar
  6. 6.
    Fan, Z., Qiu, F., Kaufman, A., Yoakum-Stover, S.: GPU cluster for high performance computing. In: SC 2004: Proceedings of the 2004 ACM/IEEE conference on Supercomputing, pp. 47–47 (2004)Google Scholar
  7. 7.
    Fatahalian, K., Sugerman, J., Hanrahan, P.: Understanding the efficiency of GPU algorithms for matrix-matrix multiplication. In: HWWS 2004: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pp. 133–138 (2004)Google Scholar
  8. 8.
    Goldberg, E., Novikov, Y.: BerkMin: A fast and robust SAT-solver. In: Design, Automation, and Test in Europe (DATE 2002), March 2002, pp. 142–149 (2002)Google Scholar
  9. 9.
    GPGPU. General-Purpose Computation using GPUs, (2006)
  10. 10.
    Kipfer, P., Westermann, R.: Improved GPU sorting. In: GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation, pp. 733–746. Addison Wesley, Reading (2005)Google Scholar
  11. 11.
    Kruger, J., Westermann, R.: Linear algebra operators for GPU implementation of numerical algorithms. ACM Transactions on Graphics 22(3), 908–916 (2003)CrossRefGoogle Scholar
  12. 12.
    Mezard, M., Zecchina, R.: The random k-satisfiability problem: from an analytic solution to an efficient algorithm. Physical Review E 66, 56126 (2002)CrossRefGoogle Scholar
  13. 13.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Design Automation Conference (DAC 2001), pp. 530–535 (2001)Google Scholar
  14. 14.
    Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Krüger, J.: A survey of general-purpose computation on graphics hardware. In: Eurographics 2005, State of the Art Reports, pp. 21–51 (2005)Google Scholar
  15. 15.
    Payne, B.R.: Accelerating Scientific Computation in Bioinformatics by Using Graphics Processing Units as Parallel Vector Processors. PhD thesis, Georgia State University (November 2004)Google Scholar
  16. 16.
    Ryan, L.: Siege homepage. URL
  17. 17.
    Zhang, L., Malik, S.: Cache performance of SAT solvers: A case study for efficient implementation of algorithms. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 287–298. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Panagiotis Manolios
    • 1
  • Yimin Zhang
    • 1
  1. 1.College of ComputingGeorgia Institute of TechnologyAtlanta

Personalised recommendations