Implementation of Kernel P Systems in CUDA for Solving NP-hard Problems
Songhai Fan, Yiyu Gong, Gexiang Zhang, Yun Xiao, Haina Rong, Prithwineel Paul, Xiaomin Ma, Han Huang and Marian Gheorghe
As a newly introduced variant of P systems, kernel P systems (kP systems) contain the features of several kinds of P systems and can offer a coherent view on the integration of different P systems into the same formalism. Thus, the implementation of kP systems in CUDA for solving various problems, including NP-hard problems is worth discussing. This paper presents an implementation framework of kP systems and its implementation method in CUDA for solving a class of NP-hard problems. Both the framework and the method consider the implementation of the membrane structure, objects and evolution rules of kP systems. The subset sum and satisfiability problems are taken as two examples to show how an implementation that relies in CUDA environment is used for solving NP-hard problems. The implementation of the above mentioned problems shows an increase in speed of about 5% for the parallel variant compared to the normal CPU implementation.
Keywords: Membrane computing, kernel P systems, NP-hard problems, CUDA