DOI QR코드

DOI QR Code

GPGPU Acceleration of SAT Algorithm with Propagation Routine Parallelization

전달 루틴의 병렬화를 통한 SAT 알고리즘의 GPGPU 가속화

  • Kang, Hyeong-Ju (School of Computer Science and Engineering, Korea University of Technology and Education)
  • Received : 2016.08.11
  • Accepted : 2016.09.08
  • Published : 2016.10.31

Abstract

Because of the enormous processing ability, General-Purpose Graphics Processing Unit(GPGPU) has been applied to many fields including electronics design automation. The SAT algorithm is one of the core algorithm in many electronics design automation tools. There has been some efforts to apply GPGPU to the SAT algorithm, but it is difficult to parallelize the SAT algorithm because of its characteristics. In this paper, I applied GPGPU to the SAT algorithm by parallelizing the propagation routine that is relatively suitable to parallel processing. On the basis of the similarity of the propagation routine to the sparse matrix multiplication, the data structure for the SAT problem is constituted, and the parallel propagation routine is described. To prevent data loss between paralllel threads, atomic operations are exploited. The experimental results for some benchmark SAT problems show that the proposed algorithm is superior to the previous GPGPU-based SAT solver.

대량의 데이터를 병렬적으로 처리할 수 있는 General-Purpose Graphics Processing Unit(GPGPU)가 최근 많은 분야에서 적용되고 있으며, 이는 전자 설계 자동화 분야에서도 예외가 아니다. SAT 알고리즘은 다양한 전자 설계 자동화 문제에 적용되는 대표적인 알고리즘 중 하나이다. GPGPU를 이용해서 SAT 알고리즘을 가속화하기 위해 노력이 이루어져 왔으나, SAT 알고리즘 자체의 특성으로 인해 병렬화에 어려움이 있어왔다. 이 논문에서는 SAT 알고리즘의 내부 과정 중 비교적 병렬화가 용이한 전달 루틴을 병렬화함으로써 GPGPU 가속화를 적용하였다. 전달 루틴이 희소 행렬의 곱셈과 유사한 점에 착안하여 데이터 구조를 구성하고 이에 맞추어서 병렬적인 전달 루틴을 작성하였다. 병렬적으로 동작하는 쓰레드들 사이의 데이터 손실을 방지하기 위해 아토믹(atomic) 연산을 이용하였다. 벤치마크 SAT 문제들에 대해 기존의 GPGPU 기반 SAT solver에 비해 성능이 10배 이상 향상되었음을 확인하였다.

Keywords

References

  1. Y. Deng, "GPU Accelerated VLSI Design Verification," in Proceedings of International Conference on Computer and Information Technology, pp. 1213-1218, 2010.
  2. Y. Deng, B. D. Wang, and S. Mu, "Taming irregular EDA applications on GPUs," in Proceedings of International Conference on Computer Aided Design, pp. 539-546, 2009.
  3. J. P. M.-Silva and K. A. Sakallah, "GRASP: A Search Algorithm for Propositional Satisfiability," IEEE Transactions on Computers, vol. 48, no. 5, pp. 506-521, May 1999. https://doi.org/10.1109/12.769433
  4. M. W. Moskewicz, et al., "Chaff: Engineering an Efficient SAT Solver," in Proceedings of Design Automation Conference, pp. 530-535, 2001.
  5. N. Een and N. Sorensson, "An Extensible SAT-solver," in Proceedings of International Conference on Theory and Applications of Satisfiability Testing, pp. 502-518, 2003.
  6. G. Audemard and L. Simon, "Predicting learnt clauses quality in modern SAT solvers," in Proceedings of International Joint Conference on Artificial Intelligence, pp. 399-404, 2009.
  7. Y. Hamadi, S. Jabbour, and L. Sais, "ManySAT: a parallel SAT solver," Journal on Satisfiability, Boolean Modelling and Computation, vol. 6, pp. 245-262, Jul. 2008.
  8. H. Fujii and N. Fujimoto, "GPU acceleration of BCP procedure for SAT algorithms," in Proceedings of International Conference on Parallel and Distributed Processing Techniques and Applications, 2012.
  9. A. D. Palu, et al., "CUD@SAT: SAT solving on GPUs," Journal of Experimental and Theoretical Artificial Intelligence, vol 27, no. 3, pp. 293-316, May 2015. https://doi.org/10.1080/0952813X.2014.954274
  10. NVIDIA, NVIDIA GeForce GTX 980 [Internet]. Available: http://international.download.nvidia.com/geforce-com/international/pdfs/GeForce_GTX_980_Whitepaper_FINAL.PDF.
  11. M. Garland, "Sparse matrix computations on manycore GPU's," in Proceedings of Design Automation Conference, pp. 2-6, 2008.
  12. Q. Meyer, et al., "3-SAT on CUDA: Towards a massively parallel SAT solver," in Proceedings of International Conference on High Performance Computing and Simulation, pp. 306-313, 2010.
  13. H. H. Hoos and T. Stutzle, "Satlib: an online resource for research on SAT," in Proceedings of International Conference on Theory and Applications of Satisfiability Testing, 282-292, 2000.
  14. A. Biere and et al., "Symbolic model checking using SAT procedures instead of BDDs," in Proceedings of Design Automation Conference, pp. 317-320, 1999.
  15. A. Blum, A. Kalai, and H. Wasserman, "Noise-tolerant learning, the parity problem, and the statistical query model," Journal of ACM, vol. 50, no. 4, 506-519, Jul. 2003. https://doi.org/10.1145/792538.792543