vix.ing · top · new · best · stats · spec

GpuShareSat: a SAT solver using the GPU for clause sharing

2020/12/05 by Nicolas Prevot, Prevot, Nicolas
Computer Science · #Artificial Intelligence (cs.AI) #Constraint Satisfaction and Optimization #FOS: Computer and information sciences #Formal Methods in Verification #Logic, programming, and type systems

paper · pdf · doi:10.48550/arxiv.2012.03119

openalex publication_date 2020/12/05 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

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 2020 competition than glucose-syrup.

Related