Soft Computing

, Volume 16, Issue 2, pp 231–246 | Cite as

The GPU on the simulation of cellular computing models

  • José M. Cecilia
  • José M. García
  • Ginés D. Guerrero
  • Miguel A. Martínez-del-Amor
  • Mario J. Pérez-Jiménez
  • Manuel UjaldónEmail author


Membrane Computing is a discipline aiming to abstract formal computing models, called membrane systems or P systems, from the structure and functioning of the living cells as well as from the cooperation of cells in tissues, organs, and other higher order structures. This framework provides polynomial time solutions to NP-complete problems by trading space for time, and whose efficient simulation poses challenges in three different aspects: an intrinsic massively parallelism of P systems, an exponential computational workspace, and a non-intensive floating point nature. In this paper, we analyze the simulation of a family of recognizer P systems with active membranes that solves the Satisfiability problem in linear time on different instances of Graphics Processing Units (GPUs). For an efficient handling of the exponential workspace created by the P systems computation, we enable different data policies to increase memory bandwidth and exploit data locality through tiling and dynamic queues. Parallelism inherent to the target P system is also managed to demonstrate that GPUs offer a valid alternative for high-performance computing at a considerably lower cost. Furthermore, scalability is demonstrated on the way to the largest problem size we were able to run, and considering the new hardware generation from Nvidia, Fermi, for a total speed-up exceeding four orders of magnitude when running our simulations on the Tesla S2050 server.


Manycore GPUs P systems SAT problem High performance computing 



This work has been jointly supported by the Fundación Séneca (Agencia Regional de Ciencia y Tecnología, Región de Murcia) under grant 00001/CS/2007, by the Spanish MICINN under grants TIN2009-13192 and TIN2009-14475-C04, by the European Commission FEDER funds under grant Consolider Ingenio-2010 CSD2006-00046, and by the Junta of Andalucia of Spain under projects P06-TIC02109 and P08-TIC04200. The authors wish to thank anonymous reviewers for the suggestions received to improve the quality of this article.


  1. Alonso S, Fernández L, Arroyo F, Gil J (2008) A circuit implementing massive parallelism in transition P systems. Int J Inf Technol Knowl 2(1):35–42Google Scholar
  2. Cardona M, Colomer MA, Margalida A, Palau A, Pérez-Hurtado I, Pérez-Jiménez MJ, Sanuy D (2010a) A computational modeling for real ecosystems based on P systems. Nat Comput. doi: 10.1007/s11047-010-9191-3
  3. Cardona M, Colomer MA, Margalida A, Pérez-Hurtado I, Pérez-Jiménez MJ, Sanuy D (2010b) A P system based model of an ecosystem of some scavenger birds. LNCS 5957:182–195Google Scholar
  4. Cecilia JM, García JM, Guerrero GD, Martínez-del-Amor MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2010a) Simulating a P system based efficient solution to SAT by using GPUs. Int J Log Alg Prog 79(6):317–325CrossRefzbMATHGoogle Scholar
  5. Cecilia JM, García JM, Guerrero GD, Martínez-del-Amor MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2010b) Simulation of P systems with active membranes on CUDA. Brief Bioinform 11(3):313–322CrossRefGoogle Scholar
  6. Cecilia JM, García JM, Ujaldón M (2010c) CUDA 2D stencil computation for the Jacobi method. In: Proceedings of the 10th international workshop on state-of-the-art in scientific and parallel computing, Reykjavik, IcelandGoogle Scholar
  7. Cook SA (1971) The complexity of theorem-proving procedures. In STOC ’71: Proceedings of the third annual ACM symposium on theory of computing, New York, USA, pp 151–158Google Scholar
  8. Datta K, Murphy M, Volkov V, Williams S, Carter J, Oliker L, Patterson DA, Shalf J, Yelick K (2008) Stencil computation optimization and auto-tuning on State-of-the-art multicore architectures. In: Proceedings ACM/IEEE Supercomputing 2008, pp 1–12Google Scholar
  9. Díaz D, Graciani C, Gutiérrez-Naranjo MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2009) Software for P systems. In Paun Gh, Rozenberg G, Salomaa A (eds) The Oxford handbook of membrane computing. Oxford University Press, Oxford, pp 437–454Google Scholar
  10. García-Quismondo M, Gutiérrez-Escudero R, Pérez-Hurtado I, Pérez-Jiménez MJ, Riscos-Núñez A (2010) An overview of p-lingua 2.0. LNCS 5957:264–288Google Scholar
  11. Krishnamoorthy S, Baskaran MM, Bondhugula U, Ramanujan J, Rountev A, Sadayappan P (2010) Effective automatic parallelization of stencil computation. In: Proceedings 2010 ACM conference on programming languages, design and implementation, pp 235–244Google Scholar
  12. Li J, Hu X, Pang Z, Qian K (2009) A parallel ant colony optimization algorithm based on fine-grained model with GPU acceleration. Int J Innov Comput Inf Control 5(11):3707–3715Google Scholar
  13. Martínez-del-Amor MA, Pérez-Hurtado I, Pérez-Jiménez MJ, Riscos-Núñez A, Colomer MA (2010) A new simulation algorithm for multienvironment probabilistic P systems. In BIC-TA’2010: proceedings 2010 IEEE fifth international conference on bio-inspired computing: theories and applications, vol 1, pp 59–68Google Scholar
  14. Mussi L, Cagnoni S (2009) Particle swarm optimization within the CUDA architecture. In: GECCO conferenceGoogle Scholar
  15. Nguyen V, Kearney D, Gioiosa G (2010) An extensible, maintainable and elegant approach to hardware source code generation in reconfig-p. Int J Log Alg Prog 79(6):383–439CrossRefzbMATHMathSciNetGoogle Scholar
  16. NVIDIA (2008) CUDA programming guide 2.0Google Scholar
  17. NVIDIA (2010) Next generation CUDA architecture. Code named Fermi.
  18. Păun G (2000) Computing with membranes. J Comput Sys Sci 61:108–143 (TUCS report no 208)Google Scholar
  19. Păun G (2002) Membrane computing: an introduction. Springer, BerlinGoogle Scholar
  20. Păun G (2009) Active membranes. In: Păun Gh, Rozenberg G, Salomaa A (eds) The Oxford handbook of membrane computing. Oxford University Press, Oxford, pp 282–301Google Scholar
  21. Păun G, Romero-Campero-FJ (2008) Membrane computing as a modeling framework. LNCS 5016: 168–214Google Scholar
  22. Pérez-Jiménez MJ, Romero-Campero FJ (2006) P systems, a new computational modelling tool for systems biology. LNCS 4220:176–97Google Scholar
  23. Pérez-Jiménez MJ, Romero-Jiménez Á Sancho-Caparrini F (2003) Complexity classes in models of cellular computing with membranes. Nat Comput 2(3):265–285Google Scholar
  24. Pospichal P, Jaros J (2009) GPU-based acceleration of the genetic algorithm. In: GECCO conferenceGoogle Scholar
  25. Stutzle T (1998) Parallelization strategies for ant colony optimization. Springer, BerlinGoogle Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • José M. Cecilia
    • 1
  • José M. García
    • 1
  • Ginés D. Guerrero
    • 1
  • Miguel A. Martínez-del-Amor
    • 2
  • Mario J. Pérez-Jiménez
    • 2
  • Manuel Ujaldón
    • 3
    Email author
  1. 1.Computer Engineering and Technology DepartmentUniversity of MurciaMurciaSpain
  2. 2.Computer Science and Artificial Intelligence DepartmentUniversity of SevilleSevilleSpain
  3. 3.Computer Architecture DepartmentUniversity of MalagaMalagaSpain

Personalised recommendations