An Improved GPU-Based SAT Model Counter

In this paper, we present and evaluate a new parallel propositional model counter, called gpusat2, which is based on dynamic programming (DP) on tree decompositions using log-counters. gpusat2 extends its predecessor by a novel architecture for DP that includes using customized tree decompositions, storing solutions to parts of the input instance during the computation variably in arrays or binary search trees, and compressing solution parts. In addition, we avoid data transfer between the RAM and the VRAM whenever possible and employ extended preprocessing by means of state-of-the-art preprocessors for propositional model counting. Our novel architecture allows gpusat2 to be competitive with modern model counters when we also take preprocessing into consideration. As a side result, we observe that state-of-the-art preprocessors allow to produce tree decompositions of significantly smaller width.

[1]  Sanjit A. Seshia,et al.  Distribution-Aware Sampling and Weighted Model Counting for SAT , 2014, AAAI.

[2]  Arne Meier,et al.  Counting Complexity for Reasoning in Abstract Argumentation , 2018, AAAI.

[3]  Henry A. Kautz,et al.  Performing Bayesian Inference by Weighted Model Counting , 2005, AAAI.

[4]  Timothy G. Mattson,et al.  OpenCL Programming Guide , 2011 .

[5]  Philippe Jégou,et al.  Computing and Exploiting Tree-Decompositions for Solving Constraint Networks , 2005, CP.

[6]  Toniann Pitassi,et al.  Combining Component Caching and Clause Learning for Effective Model Counting , 2004, SAT.

[7]  James Demmel,et al.  IEEE Standard for Floating-Point Arithmetic , 2008 .

[8]  Marc Thurley,et al.  sharpSAT - Counting Models with Advanced Component Caching and Implicit BCP , 2006, SAT.

[9]  Adnan Darwiche,et al.  New Advances in Compiling CNF into Decomposable Negation Normal Form , 2004, ECAI.

[10]  Stefan Woltran,et al.  Expansion-based QBF Solving on Tree Decompositions , 2017, RCRA@AI*IA.

[11]  Takehide Soh,et al.  Implementing Efficient All Solutions SAT Solvers , 2015, ACM J. Exp. Algorithmics.

[12]  Johannes Klaus Fichte,et al.  Treewidth and Counting Projected Answer Sets , 2019, LPNMR.

[13]  Carmel Domshlak,et al.  Probabilistic Planning via Heuristic Forward Search and Weighted Model Counting , 2007, J. Artif. Intell. Res..

[14]  Jean-Marie Lagniez,et al.  Improving Model Counting by Leveraging Definability , 2016, IJCAI.

[15]  Bart Selman,et al.  Uniform Solution Sampling Using a Constraint Solver As an Oracle , 2012, UAI.

[16]  Stefan Woltran,et al.  Answer Set Solving with Bounded Treewidth Revisited , 2017, LPNMR.

[17]  Guy Van den Broeck,et al.  Tractable Learning for Structured Probability Spaces: A Case Study in Learning Preference Distributions , 2015, IJCAI.

[18]  Christian J. Muise,et al.  Dsharp: Fast d-DNNF Compilation with sharpSAT , 2012, Canadian Conference on AI.

[19]  Stefan Woltran,et al.  Exploiting Treewidth for Projected Model Counting and its Limits , 2018, SAT.

[20]  Jean-Marie Lagniez,et al.  Preprocessing for Propositional Model Counting , 2014, AAAI.

[21]  Robert M. Haralick,et al.  Structural Descriptions and Inexact Matching , 1981, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[22]  Enrico Pontelli,et al.  Accelerating exact and approximate inference for (distributed) discrete optimization with GPUs , 2016, Constraints.

[23]  Stefan Woltran,et al.  Weighted Model Counting on the GPU by Exploiting Small Treewidth , 2018, ESA.

[24]  Stefan Woltran,et al.  htd - A Free, Open-Source Framework for (Customized) Tree Decompositions and Beyond , 2017, CPAIOR.

[25]  Jean-Marie Lagniez,et al.  An Improved Decision-DNNF Compiler , 2017, IJCAI.

[26]  Stefan Woltran,et al.  Improving the Efficiency of Dynamic Programming on Tree Decompositions via Machine Learning , 2015, IJCAI.

[27]  Umut Oztok,et al.  A Top-Down Compiler for Sentential Decision Diagrams , 2015, IJCAI.

[28]  Dan Roth,et al.  On the Hardness of Approximate Reasoning , 1993, IJCAI.

[29]  Marko Samer,et al.  Algorithms for propositional model counting , 2007, J. Discrete Algorithms.

[30]  Javier Larrosa,et al.  Node and arc consistency in weighted CSP , 2002, AAAI/IAAI.

[31]  Jean-Marie Lagniez,et al.  DMC: A Distributed Model Counter , 2018, IJCAI.

[32]  Bernd Becker,et al.  Laissez-Faire Caching for Parallel #SAT Solving , 2015, SAT.

[33]  Toniann Pitassi,et al.  Algorithms and complexity results for #SAT and Bayesian inference , 2003, 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings..

[34]  Adnan Darwiche,et al.  Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence SDD: A New Canonical Representation of Propositional Knowledge Bases , 2022 .

[35]  Adnan Darwiche,et al.  Basing Decisions on Sentences in Decision Diagrams , 2012, AAAI.

[36]  Michel Raynal,et al.  Parallel Computing vs. Distributed Computing: A Great Confusion? (Position Paper) , 2015, Euro-Par Workshops.

[37]  Moshe Y. Vardi,et al.  Counting-Based Reliability Estimation for Power-Transmission Grids , 2017, AAAI.

[38]  Jean-Marie Lagniez,et al.  Knowledge Compilation for Model Counting: Affine Decision Trees , 2013, IJCAI.