On March 17, 2016, David Luebke, NVIDIA Distinguished Inventor, and Sr. Director of Research of NVIDIA Corporation announced that we are confirmed as a GPU Research Center “based on the vision, quality, and impact of your research leveraging GPU Computing.”
A GPU Implementation of the ASP Computation
By Agostino Dovier, Andrea Formisano, Enrico Pontelli, and Flavio Vella
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
From left to right: Nando Fioretto, Agostino Dovier, Enrico Pontelli, and Alessandro Dal Palù (all but one teachers at the GULP school on logic programming)
CUD@SAT: SAT Solving on GPUs.
A. Dal Palù, A. Dovier, A. Formisano, and E. Pontelli.
Journal of Experimental & Theoretical Artificial Intelligence (JETAI),
Volume 27(3), July 2015, pp. 293-316.
(draft) DOI: 10.1080/0952813X.2014.954274
The parallel computing power offered by Graphical Processing Units (GPUs) has been recently exploited to support general purpose applications—by exploiting the availability of general API and the SIMT-style parallelism present in several classes of problems (e.g., numerical simulations, matrix manipulations)— where relatively simple computations need to be applied to all items in large sets of data.
This paper investigates the use of GPUs in parallelizing a class of search problems, where the combinatorial nature leads to large parallel tasks and relatively less natural symmetries. Specifically, the investigation focuses on the well-known Satisfiability Testing (SAT) problem and on the use of the NVIDIA CUDA architecture, one of the most popular platforms for GPU computing. The paper explores ways to identify strong sources of GPU-style parallelism from SAT solving. The paper describes experiments with different design choices and evaluates the results. The outcomes demonstrate the potential for this approach, leading to one order of magnitude of speedup using a simple NVIDIA platform
Our favourite lab has been selected to be a 2015 GPU Research Center “based on the vision, quality, and impact of (y)our research leveraging GPU Computing”.
A great thank to all LAB members that made it possible and to NVIDIA selection committee!
F. Campeotto, A. Dovier, and E. Pontelli.
A Declarative Concurrent System for Protein Structure Prediction on GPU.
Journal of Experimental & Theoretical Artificial Intelligence (JETAI).
On line since february 2015
This paper provides a novel perspective in the Protein Structure Prediction (PSP) problem. The PSP problem focuses on determining putative 3D structures of a protein starting from its primary sequence. The proposed approach relies on a Multi-Agent System (MAS) perspective, where concurrent agents explore the folding of different parts of a protein. The strength of the approach lies in the agents’ ability to apply different types of knowledge, expressed in the form of declarative constraints, to prune the search space of folding alternatives. The paper makes also an important contribution in demonstrating the suitability of a General-Purpose Graphical Processing Unit (GPGPU) approach to implement such MAS infrastructure, with significant performance improvements over the sequential implementation and other methods.
Cliccando sulla foto (item 18) c’è una lezione on-line sul ruolo dei giochi in AI (realizzata per il progetto flash forward 2 organizzato dalle Università di Udine e Trieste).
Agostino Dovier @ECAI2014. Pictures by Enrico Pontelli
The paper A GPU Implementation of Large Neighborhood Search for Solving Constraint Optimization Problems by F. Campeotto, A. Dovier, F. Fioretto, and E. Pontelli will be presented (as full paper) at ECAI 2014
Constraint programming has gained prominence as an effective and declarative paradigm for modeling and solving complex combinatorial problems. Techniques based on local search have proved practical to solve real-world problems, providing a good compromise between optimality and efficiency. In spite of the natural presence of concurrency, there has been relatively limited effort to use novel massively parallel architectures, such as those found in modern Graphical Processing Units (GPUs), to speedup local search techniques in constraint programming. This paper describes a novel framework which exploits parallelism from a popular local search method (the Large Neighborhood Search method), using GPUs.