arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2012.03119cs.AI
收藏

GpuShareSat:使用GPU进行子句共享的SAT求解器

GpuShareSat: a SAT solver using the GPU for clause sharing

Nicolas Prevot

摘要:

我们描述了一个SAT求解器使用GPU(CUDA)和CPU与一个新的子句交换策略。CPU运行经典的多线程CDCL SAT求解器。每个CPU线程将它学习的所有子句导出到GPU。GPU大量使用按位操作。它会注意到CPU线程何时使用了子句,并通知该线程,在这种情况下,它会导入该子句。这依赖于GPU针对数百个任务反复测试数百万个子句。所有子句都是彼此独立测试的(这允许GPU大规模并行方法),但是使用逐位操作同时针对所有赋值进行测试。这允许CPU线程只导入对它们有用的子句。我们的求解器是基于葡萄糖浆。实验表明,这导致了强大的性能提升,在SAT 2020竞赛中解决的实例比葡萄糖浆多22个。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑