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.

A GPU implementation of the ASP computation / Dovier, A.; Formisano, A.; Pontelli, E.; Vella, F.. - ELETTRONICO. - 9585:(2016), pp. 30-47. (Intervento presentato al convegno 18th International Symposium on Practical Aspects of Declarative Languages, PADL 2016 tenutosi a St. Petersburg, USA nel 18-19 January 2016) [10.1007/978-3-319-28228-2_3].

A GPU implementation of the ASP computation

Vella F.
2016-01-01

Abstract

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.
2016
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Berlin, Germany
Springer Verlag
978-3-319-28227-5
978-3-319-28228-2
Dovier, A.; Formisano, A.; Pontelli, E.; Vella, F.
A GPU implementation of the ASP computation / Dovier, A.; Formisano, A.; Pontelli, E.; Vella, F.. - ELETTRONICO. - 9585:(2016), pp. 30-47. (Intervento presentato al convegno 18th International Symposium on Practical Aspects of Declarative Languages, PADL 2016 tenutosi a St. Petersburg, USA nel 18-19 January 2016) [10.1007/978-3-319-28228-2_3].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/332830
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 15
  • ???jsp.display-item.citation.isi??? ND
social impact