Abstract
In this work we present a novel and proof of concept Spiking Neural P system (for short, SN P systems) simulator that runs on modern web browsers whilst using graphics processing units (for short, GPUs). By creating an SN P system that both utilizes the GPU and runs on modern web browsers, we allow a much more performant SN P simulator that would also be a lot more accessible for researchers to experiment with, and can be integrated into other tools or visualizations transparently without having to learn specific GPU knowledge or techniques. Using previous results on representing SN P system computations using linear algebra, we analyze and implement a computation simulation algorithm on web browsers that runs on the GPU. Since web browsers (at this time) do not have any capabilities for General Purpose computing on GPUs (for short, GPGPU), we exploit the Web Graphics Library (for short, WebGL) and create shaders to generate textures that correspond to computational results of our SN P simulation algorithm. To our knowledge, this is the first work on simulating SN P systems on browser GPUs. Here, we present two different implementations and algorithms as case studies to analyse and compare the performance of the simulations, with particular interest in speedup compared to CPU approaches.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Aboy BCD, Bariring EJA, Carandang JP, Cabarle FGC, Cruz RTDL, Adorna HN, Martínez-del Amor MÁ (2019) Optimizations in CuSNP simulator for spiking neural P systems on CUDA GPUs. In: 2019 international conference on high performance computing simulation (HPCS), pp 535–542
Cabarle F, Adorna H, Martínez-del Amor M, Pérez-Jiménez M (2012) Improving GPU simulations of spiking neural P systems. Rom J Inf Sci Technol 15:5–20
Can I Use: WebGL—3D Canvas graphics. https://caniuse.com/webgl
Carandang JP, Villaflores JMB, Cabarle FGC, Adorna HN, Martínez del Amor MÁ (2017) CuSNP: spiking neural P systems simulators in CUDA. Rom J Inf Sci Technol (ROMJIST) 20(1):57–70
Carandang J, Cabarle F, Adorna H, Hernandez N, Martínez-del Amor M (2019) Handling non-determinism in spiking neural P systems: algorithms and simulations. Fundam Inf 164:139–155
Ceterchi R, Tomescu AI (2008) Implementing sorting networks with spiking neural P systems. Fundam Inf 87(1):35–48
Ciobanu G, Wenyuan G (2004) P systems running on a cluster of computers. In: Martín-Vide C, Mauri G, Păun G, Rozenberg G, Salomaa A (eds) Membrane computing. Springer, Berlin, Heidelberg, pp 123–139
Díaz-Pernil D, Graciani-Díaz C, Gutiérrez-Naranjo MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2010) Software for P systems. The Oxford Handbook of Membrane Computing, pp 437–454, http://www.us.oup.com/us/catalog/general/subject/Mathematics/ComputerScience/?view=usa &sf=toc &ci=9780199556670
Dupaya AGS, Galano ACAP, Cabarle FGC, De La Cruz RT, Ballesteros KJ, Lazo PPL (2022) A web-based visual simulator for spiking neural P systems. J Membr Comput 4(1):21–40
Fernandez ADC, Fresco RM, Cabarle FGC, de la Cruz RTA, Macababayao ICH, Ballesteros KJ, Adorna HN (2021) Snapse: a visual tool for spiking neural P systems. Processes 9(1):72
Harris M (2005) Mapping computational concepts to GPUs. In: ACM SIGGRAPH 2005 courses. p. 50-es. SIGGRAPH ’05, Association for Computing Machinery, New York, NY, USA, https://doi.org/10.1145/1198555.1198768
Ionescu M, Păun G, Yokomori T (2006) Spiking neural P systems. Fundam Inf 71(2, 3):279–308
Khronos, WebGL 2.0 Arrives. https://www.khronos.org/blog/webgl-2.0-arrives
Khronos, WebGL specs. https://www.khronos.org/registry/webgl/specs/latest/1.0/#1
Khronos: WebGL Blacklists And Whitelists. https://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists
Kirk DB, WmW Hwu (2010) Programming massively parallel processors: a hands-on approach, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco
Macías-Ramos LF, Pérez-Hurtado I, García-Quismondo M, Valencia-Cabrera L, Pérez-Jiménez MJ, Riscos-Núñez A (2012) AP-lingua based simulator for spiking neural P systems. In: Gheorghe M, Păun G, Rozenberg G, Salomaa A, Verlan S (eds) Membrane computing. Springer, Berlin, Heidelberg, pp 257–281
Martínez-del Amor MÁ, Orellana-Martín D, Pérez-Hurtado I, Cabarle FGC, Adorna HN (2021) Simulation of spiking neural P systems with sparse matrix-vector operations. Processes 9(4):690
MDN Web Docs: WebGL API. https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API
Plummer Jr RL, Cheah E (2016) Gpu.js. https://github.com/gpujs/gpu.js
Secretmapper/Snapse. https://github.com/Secretmapper/Snapse/
W3C Working Draft, WebGPU. https://www.w3.org/TR/webgpu/
Zeng X, Adorna H, Martínez-del Amor MÁ, Pan L, Pérez-Jiménez MJ (2010) Matrix representation of spiking neural P systems. In: International conference on membrane computing. Springer, pp 377–391
Acknowledgements
F.G.C. Cabarle is supported by the Dean Ruben A. Garcia PCA from the University of the Philippines Diliman. The authors thank the anonymous reviewers who helped improve our work.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Valdez, A.A.M., Wee, F., Odasco, A.N.L. et al. GPU simulations of spiking neural P systems on modern web browsers. Nat Comput 22, 171–180 (2023). https://doi.org/10.1007/s11047-022-09914-1
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11047-022-09914-1