A GPU Implementation of the ASP Computation

  • Agostino DovierEmail author
  • Andrea Formisano
  • Enrico Pontelli
  • Flavio Vella
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9585)


General Purpose Graphical Processing Units (GPUs) are affordable multi-core platforms, providing access to large number of cores, but at the price of a complex architecture with non-trivial synchronization and communication costs. This paper presents the design and implementation of a conflict-driven ASP solver, that is capable of exploiting the parallelism offered by GPUs. The proposed system builds on the notion of ASP computation, that avoids the generation of unfounded sets, enhanced by conflict analysis and learning. The proposed system uses the CPU exclusively for input and output, in order to reduce the negative impact of the expensive data transfers between the CPU and the GPU. All the solving components, i.e., the management of nogoods, the search strategy, backjumping, the search heuristics, conflict analysis and learning, and unit propagation, are performed on the GPU, by exploiting Single Instruction Multiple Threads (SIMT) parallelism. The preliminary experimental results confirm the feasibility and scalability of the approach, and the potential to enhance performance of ASP solvers.


ASP solvers ASP computation SIMT parallelism GPUs 


  1. 1.
    Balduccini, M., Pontelli, E., El-Khatib, O., Le, H.: Issues in parallel execution of non-monotonic reasoning systems. Parallel Comput. 31(6), 608–647 (2005)CrossRefGoogle Scholar
  2. 2.
    Baral, C.: Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press, Cambridge (2010)zbMATHGoogle Scholar
  3. 3.
    Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.): Handbook of Satisfiability (Frontiers in Artificial Intelligence and Applications), vol. 185. IOS Press, Amsterdam (2009)Google Scholar
  4. 4.
    Campeotto, F., Dal Palù, A., Dovier, A., Fioretto, F., Pontelli, E.: Exploring the use of GPUs in constraint solving. In: Flatt, M., Guo, H.-F. (eds.) PADL 2014. LNCS, vol. 8324, pp. 152–167. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  5. 5.
    Campeotto, F., Dovier, A., Fioretto, F., Pontelli, E.: A GPU implementation of large neighborhood search for solving constraint optimization problems. In: Schaub, T., Friedrich, G., O’Sullivan, B. (eds.) ECAI 2014–21st European Conference on Artificial Intelligence - Including Prestigious Applications of Intelligent Systems (PAIS) 2014. Frontiers in Artificial Intelligence and Applications, vol. 263, pp. 189–194. IOS Press, Prague, Czech Republic (2014)Google Scholar
  6. 6.
    Campeotto, F., Dovier, A., Pontelli, E.: A declarative concurrent system for protein structure prediction on GPU. J. Exp. Theor. Artif. Intell. (JETAI) 27(5), 503–541 (2015)CrossRefGoogle Scholar
  7. 7.
    Dal Palù, A., Dovier, A., Formisano, A., Pontelli, E.: CUD@SAT: SAT solving on GPUs. J. Exp. Theor. Artif. Intell. (JETAI) 27(3), 293–316 (2015)CrossRefGoogle Scholar
  8. 8.
    Dal Palù, A., Dovier, A., Pontelli, E., Rossi, G.: GASP: answer set programming with lazy grounding. Fundamenta Informaticae 96(3), 297–322 (2009)MathSciNetzbMATHGoogle Scholar
  9. 9.
    Dovier, A., Formisano, A., Pontelli, E., Vella, F.: Parallel execution of the ASP computation - an investigation on GPUs. In: De Vos, M., Eiter, T., Lierler, Y., Toni, F. (eds.) Technical Communications of the 31st International Conference on Logic Programming (ICLP 2015), Cork, Ireland, August 31 - September 4, 2015, vol. 1433, CEUR Workshop Proceedings (2015).
  10. 10.
    Fages, F.: Consistency of Clark’s completion and existence of stable models. Methods Logic Comput. Sci. 1(1), 51–60 (1994)Google Scholar
  11. 11.
    Finkel, R.A., Marek, V.W., Moore, N., Truszczynski, M.: Computing stable models in parallel. In: Answer Set Programming, Towards Efficient and Scalable Knowledge Representation and Reasoning, Proceedings of the 1st International ASP 2001 Workshop, Stanford (2001)Google Scholar
  12. 12.
    Formisano, A., Vella, F.: On multiple learning schemata in conflict driven solvers. In: Bistarelli, S., Formisano, A. (eds.) Proceedings of ICTCS 2014, vol. 1231, pp. 133–146. CEUR Workshop Proceedings, (2014).
  13. 13.
    Gebser, M., Kaminski, R., Kaufmann, B., Schaub, T.: Answer set solving in practice. Morgan & Claypool Publishers, San Rafael (2012)zbMATHGoogle Scholar
  14. 14.
    Gebser, M., Kaufmann, B., Schaub, T.: Multi-threaded ASP solving with clasp. TPLP 12(4–5), 525–545 (2012)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Gelfond, M.: Answer sets. In: van Harmelen, F., Lifschitz, V., Porter, B.W. (eds.) Handbook of Knowledge Representation. Foundations of Artificial Intelligence, vol. 3, pp. 285–316. Elsevier, Amsterdam (2008)CrossRefGoogle Scholar
  16. 16.
    Goldberg, E., Novikov, Y.: BerkMin: a fast and robust SAT-solver. Discrete Appl. Math. 155(12), 1549–1561 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Järvisalo, M., Junttila, T.A., Niemelä, I.: Unrestricted vs restricted cut in a tableau method for boolean circuits. Ann. Math. Artif. Intell. 44(4), 373–399 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Kao, M., Klein, P.N.: Towards overcoming the transitive-closure bottleneck: efficient parallel algorithms for planar digraphs. J. Comput. Syst. Sci. 47(3), 459–500 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Khronos Group Inc., OpenCL: the open standard for parallel programming of heterogeneous systems (2015).
  20. 20.
    Khuller, S., Vishkin, U.: On the parallel complexity of digraph reachability. Inf. Process. Lett. 52(5), 239–241 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Lin, F., Zhao, Y.: ASSAT: computing answer sets of a logic program by SAT solvers. Artif. Intell. 157(1), 115–137 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Liu, L., Pontelli, E., Son, T.C., Truszczynski, M.: Logic programs with abstract constraint atoms: the role of computations. Artif. Intell. 174(3–4), 295–315 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    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) CrossRefGoogle Scholar
  24. 24.
    Marek, V.W., Truszczynski, M.: Stable models and an alternative logic programming paradigm (1998). CoRR, cs.LO/9809032
  25. 25.
    Marques-Silva, J.P., Sakallah, K.A.: GRASP: a search algorithm for propositional satisfiability. IEEE Trans. Comput. 48(5), 506–521 (1999)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Niemelä, I.: Logic programs with stable model semantics as a constraint programming paradigm. Ann. Math. Artif. Intell. 25(3–4), 241–273 (1999)CrossRefMathSciNetzbMATHGoogle Scholar
  27. 27.
    NVIDIA Corporation. NVIDIA CUDA Zone (2015).
  28. 28.
    Perri, S., Ricca, F., Sirianni, M.: Parallel instantiation of ASP programs: techniques and experiments. TPLP 13(2), 253–278 (2013)MathSciNetzbMATHGoogle Scholar
  29. 29.
    Cabalar, P.: Answer set; programming? In: Balduccini, M., Son, T.C. (eds.) Logic Programming, Knowledge Representation, and Nonmonotonic Reasoning. LNCS, vol. 6565, pp. 334–343. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  30. 30.
    Pontelli, E., Le, H.V., Son, T.C.: An investigation in parallel execution of answer set programs on distributed memory platforms: task sharing and dynamic scheduling. Comput. Lang. Syst. Struct. 36(2), 158–202 (2010)Google Scholar
  31. 31.
    Rossi, F., van Beek, P., Walsh, T.: Handbook of Constraint Programming. Foundations of Artificial Intelligence. Elsevier Science Inc., New York (2006) zbMATHGoogle Scholar
  32. 32.
    Simons, P., Niemelä, I., Soininen, T.: Extending and implementing the stable model semantics. Artif. Intell. 138(1–2), 181–234 (2002)CrossRefMathSciNetzbMATHGoogle Scholar
  33. 33.
    Syrjänen, T., Niemelä, I.: The smodels system. In: Eiter, T., Faber, W., Truszczyński, M. (eds.) LPNMR 2001. LNCS (LNAI), vol. 2173, pp. 434–438. Springer, Heidelberg (2001) Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Agostino Dovier
    • 1
    Email author
  • Andrea Formisano
    • 2
  • Enrico Pontelli
    • 3
  • Flavio Vella
    • 4
  1. 1.Dipartimento di Matematica e InformaticaUniversità di UdineUdineItaly
  2. 2.Dipartimento di Matematica e InformaticaUniversità di PerugiaPerugiaItaly
  3. 3.Department of Computer ScienceNew Mexico State UniversityLas CrucesUSA
  4. 4.IAC-CNR and Dipartimento di InformaticaSapienza Università di RomaRomeItaly

Personalised recommendations