GpuShareSat: a SAT solver using the GPU for clause sharing
Nicolas Prevot

TL;DR
GpuShareSat is a novel GPU-accelerated SAT solver that enhances clause sharing between CPU and GPU, leading to significant performance improvements in solving SAT instances.
Contribution
It introduces a new clause exchange strategy leveraging GPU parallelism and bitwise operations, improving clause sharing efficiency in a hybrid CPU-GPU SAT solver.
Findings
Solved 22 more instances than glucose-syrup on SAT 2020.
Utilizes GPU massively parallel clause testing with bitwise operations.
Achieves performance gains through selective clause importing.
Abstract
We describe a SAT solver using both the GPU (CUDA) and the CPU with a new clause exchange strategy. The CPU runs a classic multithreaded CDCL SAT solver. EachCPU thread exports all the clauses it learns to the GPU. The GPU makes a heavy usage of bitwise operations. It notices when a clause would have been used by a CPU thread and notifies that thread, in which case it imports that clause. This relies on the GPU repeatedly testing millions of clauses against hundreds of assignments. All the clauses are tested independantly from each other (which allows the GPU massively parallel approach), but against all the assignments at once, using bitwise operations. This allows CPU threads to only import clauses which would have been useful for them. Our solver is based upon glucose-syrup. Experiments show that this leads to a strong performance improvement, with 22 more instances solved on the SAT…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Formal Methods in Verification · Logic, programming, and type systems
