Abstract
AbstractSince 2013, the leading SAT solvers in SAT competitions all use inprocessing, which, unlike preprocessing, interleaves search with simplifications. However, inprocessing is typically a performance bottleneck, in particular for hard or large formulas. In this work, we introduce the first attempt to parallelize inprocessing on GPU architectures. As one of the main challenges in GPU programming is memory locality, we present new compact data structures and devise a data-parallel garbage collector. It runs in parallel on the GPU to reduce memory consumption and improve memory locality. Our new parallel variable elimination algorithm is roughly twice as fast as previous work. Moreover, we augment the variable elimination with the first parallel algorithm for functional dependency extraction in an attempt to find more logical gates to eliminate that cannot be found with syntactic approaches. We present a novel algorithm to generate clausal proofs in parallel to validate all simplifications running on the GPU besides the CDCL search, giving high credibility to our solver and its use in critical applications such as model checkers. In experiments, our new solver ParaFROST solves numerous benchmarks faster on the GPU than its sequential counterparts. With functional dependency extraction, inprocessing in ParaFROST was more effective in reducing the solving time. Last but not least, all proofs generated by ParaFROST were successfully verified.
Funder
Stichting voor de Technische Wetenschappen
Publisher
Springer Science and Business Media LLC
Subject
Hardware and Architecture,Theoretical Computer Science,Software
Reference69 articles.
1. Abhinav, Nasre R (2016) FastCollect: offloading generational garbage collection to integrated GPUs. In: CASES, Pittsburgh, Pennsylvania, USA, October 1–7, 2016. Proceedings. ACM, pp 21:1–21:10. https://doi.org/10.1145/2968455.2968520
2. Audemard G, Simon L (2009) Predicting learnt clauses quality in modern SAT solvers. In: IJCAI, Pasadena, California, USA, July 11–17, 2009, pp 399–404. https://doi.org/10.5555/1661445.1661509
3. Bal HE, Epema DHJ, de Laat C et al (2016) A medium-scale distributed system for computer science research: infrastructure for the long term. Computer 49(5):54–63. https://doi.org/10.1109/MC.2016.127
4. Bao FS, Gutierrez CE, Jn-Charles J et al (2018) Accelerating Boolean satisfiability (SAT) solving by common subclause elimination. Artif Intell Rev 49(3):439–453. https://doi.org/10.1007/s10462-016-9530-6
5. Biere A (2013) Lingeling, plingeling and treengeling entering the SAT competition 2013. In: Proceedings of SAT competition 2013—solver and benchmark descriptions, Department of Computer Science report series B, vol B-2013-1. University of Helsinki, p 1