GpuShareSat: a SAT solver using the GPU for clause sharing
  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.
