Skip to main content

GPU-Based Parallelism for ASP-Solving

  • Conference paper
  • First Online:
Declarative Programming and Knowledge Management (INAP 2019, WLP 2019, WFLP 2019)

Abstract

Answer Set Programming (ASP) has become the paradigm of choice in the field of logic programming and non-monotonic reasoning. With the design of new and efficient solvers, ASP has been successfully adopted in a wide range of application domains. Recently, with the advent of GPU Computing, which allowed the use of modern parallel Graphical Processing Units (GPUs) for general-purpose computing, new opportunities for accelerating ASP computation has arisen. In this paper, we describe a new approach for solving ASP that exploits the parallelism provided by GPUs. The design of a GPU-based solver poses various challenges due to the peculiarities of GPU in terms of both programmability and architecture capabilities with respect to the intrinsic nature of the satisfiability problems, which exposes poor parallelism.

This research is partially supported by INdAM-GNCS-20 project and by Univ. of Udine PRID ENCASE. The authors are member of the INdAM Research group GNCS.

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 EPUB and 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

Notes

  1. 1.

    Notice that, for the sake of simplicity, we are ignoring many aspects of CUDA programming and advanced techniques such as dynamic parallelism, cooperative groups, multi-device programming, etc. We refer the reader to [21] for a detailed treatment.

  2. 2.

    For the sake of simplicity, we will refer to host POSIX threads by using the term pthread, so as to distinguish them from device CUDA threads.

References

  1. Bernaschi, M., Bisson, M., Mastrostefano, E., Vella, F.: Multilevel parallelism for the exploration of large-scale graphs. IEEE Trans. Multi-Scale Comput. Syst. 4(3), 204–216 (2018)

    Article  Google Scholar 

  2. Biere, A., Heule, M., van Maaren, H., Walsh, T.: Handbook of Satisfiability, Volume 185 of Frontiers in Artificial Intelligence and Applications. IOS Press (2009)

    Google Scholar 

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

    Article  Google Scholar 

  4. Dal Palù, A., Dovier, A., Pontelli, E., Rossi, G.: GASP: answer set programming with lazy grounding. Fundam. Inf. 96(3), 297–322 (2009)

    Article  MathSciNet  Google Scholar 

  5. Dovier, A., Formisano, A., Pontelli, E.: An experimental comparison of constraint logic programming and answer set programming. In: Proceedings of the 22nd AAAI Conference on Artificial Intelligence, pp. 1622–1625. AAAI Press (2007)

    Google Scholar 

  6. Dovier, A., Formisano, A., Pontelli, E.: Parallel answer set programming. In: Hamadi, Y., Sais, L. (eds.) Handbook of Parallel Constraint Reasoning, pp. 237–282. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-63516-3_7

    Chapter  Google Scholar 

  7. Dovier, A., Formisano, A., Pontelli, E., Vella, F.: Parallel execution of the ASP computation. In: de Vos, M., Eiter, T., Lierler, Y., Toni, F. (eds.) Technical Communications of ICLP 2015, vol. 1433. CEUR-WS.org (2015)

    Google Scholar 

  8. Dovier, A., Formisano, A., Pontelli, E., Vella, F.: A GPU implementation of the ASP computation. In: Gavanelli, M., Reppy, J. (eds.) PADL 2016. LNCS, vol. 9585, pp. 30–47. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-28228-2_3

    Chapter  Google Scholar 

  9. Erdem, E., Gelfond, M., Leone, N.: Applications of answer set programming. AI Mag. 37(3), 53–68 (2016)

    Article  Google Scholar 

  10. Falkner, A., Friedrich, G., Schekotihin, K., Taupe, R., Teppan, E.C.: Industrial applications of answer set programming. Künstliche Intelligenz 32(2), 165–176 (2018)

    Article  Google Scholar 

  11. Formisano, A., Gentilini, R., Vella, F.: Accelerating energy games solvers on modern architectures. In: Proceedings of the 7th Workshop on Irregular Applications: Architectures and Algorithms, IA3@SC, pp. 12:1–12:4. ACM (2017)

    Google Scholar 

  12. Formisano, A., Vella, F.: On multiple learning schemata in conflict driven solvers. In: Bistarelli, S., Formisano, A. (eds.), Proceedings of ICTCS, vol. 1231. CEUR-WS.org (2014)

    Google Scholar 

  13. Gebser, M., Kaminski, R., Kaufmann, B., Schaub, T.: Answer Set Solving in Practice. Morgan & Claypool Publishers, San Rafael (2012)

    Book  Google Scholar 

  14. Gelfond, M.: Answer sets. In: van Harmelen, F., Lifschitz, V., Porter, B.W. (eds), Handbook of Knowledge Representation, chap. 7. Elsevier (2008)

    Google Scholar 

  15. Gupta, G., Pontelli, E., Ali, K.A.M., Carlsson, M., Hermenegildo, M.V.: Parallel execution of prolog programs: a survey. ACM Trans. Program. Lang. Syst. 23(4), 472–602 (2001)

    Article  Google Scholar 

  16. Hong, S., Oguntebi, T., Olukotun, K.: Efficient parallel graph exploration on multi-core CPU and GPU. In: International Conference on Parallel Architectures and Compilation Techniques, pp. 78–88. IEEE (2011)

    Google Scholar 

  17. Lin, F., Zhao, J.: On tight logic programs and yet another translation from normal logic programs to propositional logic. In: Gottlob, G., Walsh, T. (eds.), Proceedings of IJCAI 2003, pp. 853–858. Morgan Kaufmann (2003)

    Google Scholar 

  18. 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)

    Article  MathSciNet  Google Scholar 

  19. Lumsdaine, A., Gregor, D., Hendrickson, B., Berry, J.: Challenges in parallel graph processing. Parallel Process. Lett. 17(01), 5–20 (2007)

    Article  MathSciNet  Google Scholar 

  20. MPI Forum. MPIForum site (2019). https://www.mpi-forum.org/

  21. NVIDIA. CUDA C: Programming Guide (v.10.1). NVIDIA Press, Santa Clara (2019)

    Google Scholar 

  22. NVIDIA Corporation. NVIDIA CUDA Zone (2019). https://developer.nvidia.com/cuda-zone

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrea Formisano .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Dovier, A., Formisano, A., Vella, F. (2020). GPU-Based Parallelism for ASP-Solving. In: Hofstedt, P., Abreu, S., John, U., Kuchen, H., Seipel, D. (eds) Declarative Programming and Knowledge Management. INAP WLP WFLP 2019 2019 2019. Lecture Notes in Computer Science(), vol 12057. Springer, Cham. https://doi.org/10.1007/978-3-030-46714-2_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-46714-2_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-46713-5

  • Online ISBN: 978-3-030-46714-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics