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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Note that we use here “K” and “M” for binary prefixes “kilo” and “mega”, respectively. Therefore, 128 K = 217 = 131072.
References
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
Inside HPC blog. http://insidehpc.org
B.W. Kernighan, D. Ritchie. The C Programming Language, 2nd edn. (Prentice Hall, Englewood Cliffs 1988)
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
A. Munshi, B.R. Gaster, T.G. Mattson, J. Fung, D. Ginsburg, OpenCL Programming Guide, 1st edn. (Addison-Wesley, Reading, 2011)
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
NVIDIA CUDA C Programming Guide. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html. Accessed June 2019
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
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
Gh. Păun, P systems with active membranes: attacking NP-complete problems. J. Autom. Lang. Comb. 6, 75–90 (1999)
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
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
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
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
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
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)
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
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
The PMCGPU (Parallel simulators for Membrane Computing on the GPU) project website. http://sourceforge.net/p/pmcgpu. Accessed June 2019
The top 500 supercomputer site. http://www.top500.org
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)
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
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this chapter
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)