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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Dal Palú, A., Dovier, A., Fogolari, F., Pontelli, E.: CLP-based protein fragment assembly. TPLP 10(4-6), 709–724 (2010)
Gent, I., et al.: Search in the Patience Game ‘Black Hole’. AI Communications 20(3), 211–226 (2007)
Gulati, K., Khatri, S.P.: Boolean Satisfiability on a Graphic Processor. In: Great Lakes Symposium on VLSI, pp. 123–126. ACM (2010)
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)
Hamadi, Y.: Optimal Distributed Arc Consistency. Constraints 7(3-4) (2002)
Kasif, S.: On the Parallel Complexity of Discrete Relaxation in Constraint Satisfaction Networks. Artificial Intelligence 45(3), 275–286 (1990)
Kitano, H., Hendler, J.A. (eds.): Massive Parallel Artificial Intelligence. AAAI/MIT Press (1994)
Kuchcinski, K., Szymanek, R.: JaCoP Library User’s Guide (2012), http://jacop.osolpro.com/
Le, H., Pontelli, E.: Dynamic Scheduling in Parallel Answer Set Programming Solvers. In: High Performance Computing Symposium. ACM Press (2007)
Lecoutre, C.: STR2 Optimized Simple Tabular Reduction for Table Constraints. Constraints 16(1) (2011)
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)
Michel, L., See, A., Van Hentenryck, P.: Transparent Parallelization of Constraint Programming. INFORMS Journal on Computing 21(3) (2009)
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
Nguyen, T., Deville, Y.: A Distributed Arc-Consistency Algorithm. Science of Computer Programming 30(1-2), 227–250 (1998)
Perron, L.: Search Procedures and Parallelism in Constraint Programming. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 346–361. Springer, Heidelberg (1999)
Rolf, C., Kuchcinski, K.: Parallel Consistency in Constraint Programming. In: Proc. of PDPTA, pp. 638–644. CSREA Press (2009)
Rossi, F., van Beek, P., Walsh, T.: Handbook of Constraint Programming (Foundations of Artificial Intelligence). Elsevier (2006)
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)
Sanders, J., Kandrot, E.: CUDA by Example. An Introduction to General-Purpose GPU Programming. Addison Wesley (2010)
Schulte, C.: Parallel Search Made Simple. In: Techniques for Implementing Constraint Programming Systems, TRA9/00, University of Singapore (2000)
Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. ACM TOPLAS 31(1) (2008)
Schulte, C., Tack, G., Lagerkvist, M.Z.: Modeling and Programming with Gecode (2013), http://www.gecode.org
Talbi, E.G.: Parallel Combinatorial Optimization. John Wiley and Sons (2006)
Van Hentenryck, P.: Parallel Constraint Satisfaction in Logic Programming. In: Proc. of ICLP, pp. 165–180. MIT Press (1989)
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)
Zhang, H., Bonacina, M.P., Hsiang, J.: PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems. JSC 21(4), 543–560 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)