Skip to main content

Exploring the Use of GPUs in Constraint Solving

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2014)

Abstract

This paper presents an experimental study aimed at assessing the feasibility of parallelizing constraint propagation—with particular focus on arc-consistency—using Graphical Processing Units (GPUs). GPUs support a form of data parallelism that appears to be suitable to the type of processing required to cycle through constraints and domain values during consistency checking and propagation. The paper illustrates an implementation of a constraint solver capable of hybrid propagations (i.e., alternating CPU and GPU), and demonstrates the potential for competitiveness against sequential implementations.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Campeotto, F., Dovier, A., Pontelli, E.: Protein structure prediction on GPU: a declarative approach in a multi-agent framework. In: Proc. of International Conference on Parallel Processing, pp. 474–479. IEEE (2013)

    Google Scholar 

  2. Dal Palú, A., Dovier, A., Formisano, A., Pontelli, E.: Exploiting unexploited computing resources for computational logics. In: 9th Italian Convention on Computational Logic, CEUR Workshop Proceedings, vol. 857, pp. 74–88 (2012)

    Google Scholar 

  3. Dal Palú, A., Dovier, A., Fogolari, F., Pontelli, E.: CLP-based protein fragment assembly. TPLP 10(4-6), 709–724 (2010)

    MATH  Google Scholar 

  4. Gent, I., et al.: Search in the Patience Game ‘Black Hole’. AI Communications 20(3), 211–226 (2007)

    MATH  MathSciNet  Google Scholar 

  5. Gulati, K., Khatri, S.P.: Boolean Satisfiability on a Graphic Processor. In: Great Lakes Symposium on VLSI, pp. 123–126. ACM (2010)

    Google Scholar 

  6. Gupta, G., Pontelli, E., Carlsson, M., Hermenegildo, M., Ali, K.M.: Parallel Execution of Prolog Programs: a Survey. ACM TOPLAS 23(4), 472–602 (2001)

    Article  Google Scholar 

  7. Hamadi, Y.: Optimal Distributed Arc Consistency. Constraints 7(3-4) (2002)

    Google Scholar 

  8. Kasif, S.: On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks. Artificial Intelligence 45(3), 275–286 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  9. Kitano, H., Hendler, J.A. (eds.): Massive Parallel Artificial Intelligence. AAAI/MIT Press (1994)

    Google Scholar 

  10. Kuchcinski, K., Szymanek, R.: JaCoP Library User’s Guide (2012), http://jacop.osolpro.com/

  11. Le, H., Pontelli, E.: Dynamic Scheduling in Parallel Answer Set Programming Solvers. In: High Performance Computing Symposium. ACM Press (2007)

    Google Scholar 

  12. Lecoutre, C.: STR2 Optimized Simple Tabular Reduction for Table Constraints. Constraints 16(1) (2011)

    Google Scholar 

  13. Meyer, Q., Schonfeld, F., Stamminger, M., Wanka, R.: 3-SAT on CUDA: Towards a Massively Parallel SAT Solver. In: HPCS, pp. 306–313. IEEE (2010)

    Google Scholar 

  14. Michel, L., See, A., Van Hentenryck, P.: Transparent Parallelization of Constraint Programming. INFORMS Journal on Computing 21(3) (2009)

    Google Scholar 

  15. Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G.: MiniZinc: Towards a Standard CP Modelling Language. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 529–543. Springer, Heidelberg (2007), www.minizinc.org

    Chapter  Google Scholar 

  16. Nguyen, T., Deville, Y.: A Distributed Arc-Consistency Algorithm. Science of Computer Programming 30(1-2), 227–250 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  17. Perron, L.: Search Procedures and Parallelism in Constraint Programming. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 346–361. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  18. Rolf, C., Kuchcinski, K.: Parallel Consistency in Constraint Programming. In: Proc. of PDPTA, pp. 638–644. CSREA Press (2009)

    Google Scholar 

  19. Rossi, F., van Beek, P., Walsh, T.: Handbook of Constraint Programming (Foundations of Artificial Intelligence). Elsevier (2006)

    Google Scholar 

  20. Ruiz-Andino, A., Araujo, L., Saenz, F., Ruz, J.: Parallel Execution Models for Constraint Propagation. In: Maher, M.J., Puget, J.-F. (eds.) CP 1998. LNCS, vol. 1520, p. 473. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  21. Sanders, J., Kandrot, E.: CUDA by Example. An Introduction to General-Purpose GPU Programming. Addison Wesley (2010)

    Google Scholar 

  22. Schulte, C.: Parallel Search Made Simple. In: Techniques for Implementing Constraint Programming Systems, TRA9/00, University of Singapore (2000)

    Google Scholar 

  23. Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. ACM TOPLAS 31(1) (2008)

    Google Scholar 

  24. Schulte, C., Tack, G., Lagerkvist, M.Z.: Modeling and Programming with Gecode (2013), http://www.gecode.org

  25. Talbi, E.G.: Parallel Combinatorial Optimization. John Wiley and Sons (2006)

    Google Scholar 

  26. Van Hentenryck, P.: Parallel Constraint Satisfaction in Logic Programming. In: Proc. of ICLP, pp. 165–180. MIT Press (1989)

    Google Scholar 

  27. Vella, F., Dal Palù, A., Dovier, A., Formisano, A.: Enrico Pontelli. CUD@ASP: Experimenting with GPGPUs in ASP solving. In: 10th Italian Convention on Computational Logic, CEUR Workshop Proceedings, vol. 1068, pp. 163–177 (2013)

    Google Scholar 

  28. Zhang, H., Bonacina, M.P., Hsiang, J.: PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems. JSC 21(4), 543–560 (1996)

    MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Campeotto, F., Dal Palù, A., Dovier, A., Fioretto, F., Pontelli, E. (2014). Exploring the Use of GPUs in Constraint Solving. In: Flatt, M., Guo, HF. (eds) Practical Aspects of Declarative Languages. PADL 2014. Lecture Notes in Computer Science, vol 8324. Springer, Cham. https://doi.org/10.1007/978-3-319-04132-2_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-04132-2_11

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-04131-5

  • Online ISBN: 978-3-319-04132-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics