Skip to main content

P Systems Implementation on GPUs

  • Chapter
  • First Online:
Membrane Computing Models: Implementations

Abstract

The performance of P system simulators is key when deploying these models in real applications, or when pushing the limits of efficiency. In this concern, HPC is the key technology to accelerate the simulation of P systems, and specially, GPU computing is a good alternative since they provide a highly parallel device with a shared memory system and a flexible programming. GPUs are currently the enabling technology for trending areas such as Deep Learning. So far, many GPU simulators have been developed using CUDA, the first general-purpose programming model for GPUs. In this chapter, we introduce the concepts behind GPU computing and a taxonomy of GPU-based simulators: generic, specific, and adaptive simulation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 149.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 199.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 199.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Note that we use here “K” and “M” for binary prefixes “kilo” and “mega”, respectively. Therefore, 128 K = 217 = 131072.

References

  1. J.P. Carandang, F.G.C. Cabarle, H.N. Adorna, N.H.S. Hernandez, M.A. Martínez-del-Amor, Handling non-determinism in spiking neural P systems: algorithms and simulations. Fundam. Inf. 164(2–3), 139–155 (2019). https://doi.org/10.3233/FI-2019-1759

    MathSciNet  MATH  Google Scholar 

  2. J.P. Carandang, J.M.B. Villaflores, F.G.C. Cabarle, H.N. Adorna, M.A. Martínez-del-Amor, CuSNP: spiking neural P systems simulators in CUDA. Rom. J Inf Sci Technol. 20(1), 57–70 (2017)

    Google Scholar 

  3. J.M. Cecilia, J.M. García, G.D. Guerrero, M.A. Martínez-del-Amor, I. Pérez-Hurtado, M.J. Pérez-Jiménez, Simulating a P system based efficient solution to SAT by using GPUs. J Logic Algebraic Program. 79(6), 317–325 (2010). https://doi.org/10.1016/j.jlap.2010.03.008

    Article  MathSciNet  Google Scholar 

  4. J.M. Cecilia, J.M. García, G.D. Guerrero, M.A. Martínez-del-Amor, I. Pérez-Hurtado, M.J. Pérez-Jiménez, Simulation of P systems with active membranes on CUDA. Briefings in Bioinf. 11(3), 313–322 (2010). https://doi.org/10.1093/bib/bbp064

    Article  Google Scholar 

  5. J.M. Cecilia, J.M. García, G.D. Guerrero, M.A. Martínez-del-Amor, M.J. Pérez-Jiménez, M. Ujaldón, The GPU on the simulation of cellular computing models. Soft Comput. 16(2), 231–246 (2012). https://doi.org/10.1007/s00500-011-0716-1

    Article  Google Scholar 

  6. M.A. Colomer, A. Margalida, M.J. Pérez-Jiménez, Population Dynamics P system (PDP) models: a standardized protocol for describing and applying novel bio-inspired computing tools. PLOS ONE 8(5), e60698 (2013). https://doi.org/10.1371/journal.pone.0060698

  7. M.A. Colomer, A. Margalida, D. Sanuy, M.J. Pérez-Jiménez, A bio-inspired computing model as a new tool for modeling ecosystems: the avian scavengers as a case study. Ecol. Model. 222(1), 33–47 (2011). https://doi.org/10.1016/j.ecolmodel.2010.09.012

    Article  Google Scholar 

  8. M.A. Colomer, A. Margalida, L. Valencia, A. Palau, Application of a computational model for complex fluvial ecosystems: the population dynamics of zebra mussel Dreissena polymorpha as a case study. Ecol. Complexity 20, 116–126 (2014). https://doi.org/10.1016/j.ecocom.2014.09.006

    Article  Google Scholar 

  9. M.A. Colomer, I. Pérez-Hurtado, M.J. Pérez-Jiménez, A. Riscos-Núñez. Comparing simulation algorithms for multienvironment probabilistic P systems over a standard virtual ecosystem, in IEEE Fifth International Conference on Bio-Inspired Computing: Theories and Applications (BIC-TA 2010), vol. 1 (2010). https://doi.org/10.1109/BICTA.2010.5645258

  10. M.A. Colomer, I. Pérez-Hurtado, M.J. Pérez-Jiménez, A. Riscos-Núñez, Comparing simulation algorithms for multienvironment probabilistic P systems over a standard virtual ecosystem. Nat. Comput. 11(3), 369–379 (2012). https://doi.org/10.1007/s11047-011-9289-2

    Article  MathSciNet  Google Scholar 

  11. T.S. Crow, Evolution of the graphical processing unit. Master’s thesis, University of Nevada Reno (2004). http://www.cse.unr.edu/~fredh/papers/thesis/023-crow/GPUFinal.pdf

    Google Scholar 

  12. A.C. Elster, High-Performance Computing: past, present, and future, in Applied Parallel Computing, Lecture Notes in Computer Science, ed. by J. Fagerholm, J. Haataja, J. Järvinen, M. Lyly, P. Raback, V. Savolainen, vol. 2367 (2006), pp. 433–444. https://doi.org/10.1007/3-540-48051-X_43

  13. M. García-Quismondo, R. Gutiérrez-Escudero, M.A. Martínez-del-Amor, E. Orejuela-Pinedo, I. Pérez-Hurtado, P-Lingua 2.0: A software framework for cell-like P systems. Int. J. Comput. Commun. Control 4(3), 234–243 (2009). https://doi.org/10.15837/ijccc.2009.3.2431

  14. M.A. Gutiérrez-Naranjo, M.J. Pérez-Jiménez, A. Riscos-Núñez, A fast P system for finding a balanced 2-partition. Soft Comput. 9, 673–678 (2005). https://doi.org/10.1007/s00500-004-0397-0

    Article  Google Scholar 

  15. Inside HPC blog. http://insidehpc.org

  16. B.W. Kernighan, D. Ritchie. The C Programming Language, 2nd edn. (Prentice Hall, Englewood Cliffs 1988)

    Google Scholar 

  17. D.B. Kirk, W.W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, 3rd edn. (Morgan Kaufmann, San Francisco, 2016). https://www.sciencedirect.com/science/book/9780128119860

    Google Scholar 

  18. A. Krizhevsky, I. Sutskever, G.E. Hinton, Imagenet classification with deep convolutional neural networks. Adv. Neural Inf. Process. Syst. 25(2) (2012). https://doi.org/10.1145/3065386

  19. E. Lindholm, J. Nickolls, S. Oberman, J. Montrym, NVIDIA Tesla: a unified graphics and computing architecture. IEEE Micro 28(2), 39–55 (2008). https://doi.org/10.1109/MM.2008.31

    Article  Google Scholar 

  20. C. Martín-Vide, Gh. Păun, J. Pazos, A. Rodríguez-Patón, Tissue P systems. Theor. Comput. Sci. 296(2), 295–326 (2003). https://doi.org/10.1016/S0304-3975(02)00659-X

    Article  MathSciNet  Google Scholar 

  21. M.A. Martínez-del-Amor, Accelerating Membrane Systems Simulators Using High Performance Computing with GPU. Ph.D. Thesis, Universidad de Sevilla, 2013. http://hdl.handle.net/11441/15644

  22. M.A. Martínez-del-Amor, M. García-Quismondo, L.F. Macías-Ramos, L. Valencia-Cabrera, A. Riscos-Núñez, M.J. Pérez-Jiménez, Simulating P systems on GPU devices: a survey. Fundam. Inf. 136(3), 269–284 (2015). https://doi.org/10.3233/FI-2015-1157

    MathSciNet  MATH  Google Scholar 

  23. M.A. Martínez-del-Amor, I. Karlin, R.E. Jensen, M.J. Pérez-Jiménez, A.C. Elster, Parallel simulation of probabilistic P systems on multicore platforms, in Proceedings of the Tenth Brainstorming Week on Membrane Computing, ed. by M. García-Quismondo, L.F. Macías-Ramos, Gh. Păun, L. Valencia-Cabrera, vol. II (Fénix Editora, 2012), pp. 17–26

    Google Scholar 

  24. M.A. Martínez-del-Amor, L.F. Macías-Ramos, L. Valencia-Cabrera, M.J. Pérez-Jiménez, Parallel simulation of Population Dynamics P systems: updates and roadmap. Nat. Comput. 15(4), 565–573 (2015). https://doi.org/10.1007/s11047-016-9566-1

    Article  MathSciNet  Google Scholar 

  25. M.A. Martínez-del Amor, D. Orellana-Martín, I. Pérez-Hurtado, L. Valencia-Cabrera, A. Riscos-Núñez, M.J. Pérez-Jiménez, Design of specific P systems simulators on GPUs, in Membrane Computing. CMC 2018, ed. by T. Hinze, G. Rozenberg, A. Salomaa, C. Zandron. Lecture Notes in Computer Science, vol. 11399 (2019), pp. 202–207. https://doi.org/10.1007/978-3-030-12797-8_14

  26. M.A. Martínez-del-Amor, J. Pérez-Carrasco, M.J. Pérez-Jiménez, Characterizing the parallel simulation of P systems on the GPU. Int. J. Unconv. Comput. 9(5–6), 405–424 (2013)

    Google Scholar 

  27. M.A. Martínez-del-Amor, I. Pérez-Hurtado, M. García-Quismondo, L.F. Macías-Ramos, L. Valencia-Cabrera, A. Romero-Jiménez, C. Graciani-Díaz, A. Riscos-Núñez., M.A. Colomer, M.J. Pérez-Jiménez, DCBA: simulating Population Dynamics P Systems with proportional object distribution, in Membrane Computing. CMC 2012, ed. by E. Csuhaj-Varjú, M. Gheorghe, G. Rozenberg, A. Salomaa, G. Vaszil. Lecture Notes in Computer Science, vol. 7762 (2012), pp. 291–310. https://doi.org/10.1007/978-3-642-36751-9_18

  28. M.A. Martínez-del-Amor, I. Pérez-Hurtado, A. Gastalver-Rubio, A.C. Elster, M.J. Pérez-Jiménez, Population Dynamics P Systems on CUDA, in Computational Methods in Systems Biology, ed. by D. Gilbert, M. Heiner. Lecture Notes in Computer Science, vol. 7605 (2012), pp. 247–266. https://doi.org/10.1007/978-3-642-33636-2_15

  29. M.A. Martínez-del-Amor, I. Pérez-Hurtado, D. Orellana-Martín, M.J. Pérez-Jiménez, Adaptative parallel simulators for bioinspired computing models. Future Gener. Comput. Syst. 107, 469–484 (2020). https://doi.org/10.1016/j.future.2020.02.012

    Article  Google Scholar 

  30. M.A. Martínez-del-Amor, I. Pérez-Hurtado, M.J. Pérez-Jiménez, A. Riscos-Núñez, M.A. Colomer, A new simulation algorithm for multienvironment probabilistic P systems, in 2010 IEEE Fifth International Conference on Bio-Inspired Computing: Theories and Applications (BIC-TA), Changsha, 2010, vol. 1 (2010), pp. 59–68. https://doi.org/10.1109/BICTA.2010.5645352

  31. A. Munshi, B.R. Gaster, T.G. Mattson, J. Fung, D. Ginsburg, OpenCL Programming Guide, 1st edn. (Addison-Wesley, Reading, 2011)

    Google Scholar 

  32. J. Nickolls, I. Buck, M. Garland, K. Skadron, Scalable parallel programming with CUDA: is CUDA the parallel programming model that application developers have been waiting for? Queue 6(2), 40–53 (2008). https://doi.org/10.1145/1365490.1365500

    Article  Google Scholar 

  33. NVIDIA CUDA C Programming Guide. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html. Accessed June 2019

  34. N. Otterness, J. Anderson, AMD GPUs as an alternative to NVIDIA for supporting real-time workloads, in Proceedings of the 32nd Euromicro Conference on Real-Time Systems, (2020), pp. 10:1–10:23. https://doi.org/10.4230/LIPIcs.ECRTS.2020.10

  35. J.D. Owens, M. Houston, D. Luebke, S. Green, J.E. Stone, J.C. Phillips, GPU computing. Proc. IEEE 96(5), 879–899 (2008). https://doi.org/10.1109/JPROC.2008.917757

    Article  Google Scholar 

  36. Gh. Păun, P systems with active membranes: attacking NP-complete problems. J. Autom. Lang. Comb. 6, 75–90 (1999)

    MathSciNet  MATH  Google Scholar 

  37. I. Pérez-Hurtado, D. Orellana-Martín, G. Zhang, M.J. Pérez-Jiménez, P-lingua in two steps: flexibility and efficiency. J. Membr. Comput. 1(2), 93–102 (2019). https://doi.org/10.1007/s41965-019-00014-1

    Article  MathSciNet  Google Scholar 

  38. M.J. Pérez-Jiménez, A. Riscos-Núñez, Solving the Subset-Sum problem by P systems with active membranes. N. Gener. Comput. 23(4), 339–356 (2005). https://doi.org/10.1007/BF03037637

    Article  Google Scholar 

  39. M.J. Pérez-Jiménez, A. Riscos-Núñez, A linear-time solution for the knapsack problem with active membranes, in Membrane Computing. WMC 2003, ed. by C. Martín-Vide, G. Mauri, Gh. Păun, G. Rozenberg, A. Salomaa. Lecture Notes in Computer Science, vol. 2933 (2004), pp. 250–268. https://doi.org/10.1007/b95207

  40. M.J. Pérez-Jiménez, A. Romero-Jiménez, F. Sancho-Caparrini, Complexity classes in models of cellular computing with membranes. Nat. Comput. 2(3), 265–285 (2003). https://doi.org/10.1023/A:1025449224520

    Article  MathSciNet  Google Scholar 

  41. M.J. Pérez-Jiménez, A. Romero-Jiménez, F. Sancho-Caparrini, Decision P systems and the P ≠ NP conjecture, in Membrane Computing. WMC 2002, ed. by Gh. Păun, G. Rozenberg, A. Salomaa, C. Zandron. Lecture Notes in Computer Science, vol. 2597 (2003), pp. 388–399. https://doi.org/10.1007/3-540-36490-0_27

  42. M.J. Pérez-Jiménez, A. Romero-Jiménez, F. Sancho-Caparrini, A polynomial complexity class in P systems using membrane division. J. Autom. Lang. Comb. 11, 423–434 (2006)

    MathSciNet  MATH  Google Scholar 

  43. N. Satish, M. Harris, M. Garland, Designing efficient sorting algorithms for manycore GPUs, in Proceedings of the 2009 IEEE International Symposium on Parallel & Distributed Processing (IPDPS ’09), Rome, 2009 (IEEE Computer Society, Silver Spring, 2009), pp. 1–10. https://doi.org/10.1109/IPDPS.2009.5161005

  44. W. Shin, K.H. Yoo, N. Baek, Large-scale data computing performance comparisons on SYCL heterogeneous parallel processing layer implementations. Appl. Sci. 10, 1656 (2020). https://doi.org/10.3390/app10051656

    Article  Google Scholar 

  45. The PMCGPU (Parallel simulators for Membrane Computing on the GPU) project website. http://sourceforge.net/p/pmcgpu. Accessed June 2019

  46. The top 500 supercomputer site. http://www.top500.org

  47. A. Torres-Moríño, M.A. Martínez-del-Amor, F. Sancho-Caparrini, GPU-parallel crowd simulation with Vulkan, in Proceedings of the 18th High Performance Computing & Simulation (HPCS 2020). (2020, in press)

    Google Scholar 

  48. G. Zhang, Z. Shang, S. Verlan, M.A, Martínez-del-Amor, C. Yuan, L. Valencia-Cabrera, M.J. Pérez-Jiménez, An overview of hardware implementation of Membrane Computing models. ACM Comput. Surv. 53(4), 90 (2020). https://doi.org/10.1145/3402456

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Zhang, G. et al. (2021). P Systems Implementation on GPUs. In: Membrane Computing Models: Implementations. Springer, Singapore. https://doi.org/10.1007/978-981-16-1566-5_6

Download citation

  • DOI: https://doi.org/10.1007/978-981-16-1566-5_6

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-16-1565-8

  • Online ISBN: 978-981-16-1566-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics