Simulation of P Systems with Active Membranes on CUDA

P systems or membrane systems provide a high level computational modeling framework that combines the structural and dynamic aspects of biological systems in a relevant and understandable way. P systems are massively parallel distributed, and non-deterministic systems. In this paper, we describe the implementation of a simulator for the class of recognizer P systems with active membranes by using the GPU (Graphics Processing Unit). We compare the high performance parallel simulator for the GPU to the simulator developed on a single CPU (Central Processing Unit), and we show that the GPU is better suited than the CPU to simulate P systems due to its highly parallel nature.

[1]  Monica S. Lam,et al.  The cache performance and optimizations of blocked algorithms , 1991, ASPLOS IV.

[2]  Gheorghe Paun,et al.  Computing with Membranes , 2000, J. Comput. Syst. Sci..

[3]  Gheorghe Paun,et al.  Membrane Computing , 2002, Natural Computing Series.

[4]  Mario J. Pérez-Jiménez,et al.  A Polynomial Complexity Class in P Systems Using Membrane Division , 2003, DCFS.

[5]  William R. Mark,et al.  Cg: a system for programming graphics hardware in a C-like language , 2003, ACM Trans. Graph..

[6]  Mario J. Pérez-Jiménez,et al.  Complexity classes in models of cellular computing with membranes , 2003, Natural Computing.

[7]  Mario de Jesús Pérez Jiménez,et al.  Towards a Programming Language in Cellular Computing , 2004 .

[8]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, ACM Trans. Graph..

[9]  Mario J. Pérez-Jiménez,et al.  An Efficient Family of P Systems for Packing Items into Bins , 2004, J. Univers. Comput. Sci..

[10]  Vincenzo Manca,et al.  P Systems and the Modeling of Biochemical Oscillations , 2005, Workshop on Membrane Computing.

[11]  Marian Gheorghe,et al.  An Environment Aware P-System Model of Quorum Sensing , 2005, CiE.

[12]  Marian Gheorghe,et al.  An Appealing Computational Mechanism Drawn from Bacterial Quorum Sensing , 2005, Bull. EATCS.

[13]  Florent Jacquemard,et al.  An Analysis of a Public Key Protocol with Membranes , 2005 .

[14]  Mario J. Pérez-Jiménez,et al.  Towards a Programming Language in Cellular Computing , 2005, Electron. Notes Theor. Comput. Sci..

[15]  Agustín Riscos-Núñez,et al.  Computational efficiency of dissolution rules in membrane systems , 2006, Int. J. Comput. Math..

[16]  Giancarlo Mauri,et al.  Dynamical probabilistic P systems , 2006, Int. J. Found. Comput. Sci..

[17]  Gabriel Ciobanu,et al.  Applications of Membrane Computing , 2006, Applications of Membrane Computing.

[18]  Artiom Alhazov,et al.  Uniform Solution to QSAT Using Polarizationless Active Membranes , 2006 .

[19]  Vincenzo Manca,et al.  P systems with reaction maps , 2006, Int. J. Found. Comput. Sci..

[20]  Mario J. Pérez-Jiménez,et al.  Available Membrane Computing Software , 2006, Applications of Membrane Computing.

[21]  Mario J. Pérez-Jiménez,et al.  P Systems, a New Computational Modelling Tool for Systems Biology , 2006, Trans. Comp. Sys. Biology.

[22]  Oscar H. Ibarra,et al.  Simulating FAS-induced apoptosis by using P systems , 2007 .

[23]  Dinesh Manocha,et al.  Cache-efficient numerical algorithms using graphics hardware , 2007, Parallel Comput..

[24]  Tony Pan,et al.  The GPU on biomedical image processing for color and phenotype analysis , 2007, 2007 IEEE 7th International Symposium on BioInformatics and BioEngineering.

[25]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[26]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[27]  Erik Lindholm,et al.  NVIDIA Tesla: A Unified Graphics and Computing Architecture , 2008, IEEE Micro.

[28]  Wen-mei W. Hwu,et al.  Optimization principles and application performance evaluation of a multithreaded GPU using CUDA , 2008, PPoPP.

[29]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[30]  Yao Zhang,et al.  Parallel Computing Experiences with CUDA , 2008, IEEE Micro.

[31]  Ümit V. Çatalyürek,et al.  Biomedical image analysis on a cooperative cluster of GPUs and multicores , 2008, ICS '08.

[32]  Mario J. Pérez-Jiménez,et al.  Modeling Ecosystems Using P Systems: The Bearded Vulture, a Case Study , 2009, Workshop on Membrane Computing.

[33]  Mario J. Pérez-Jiménez,et al.  A P-Lingua Programming Environment for Membrane Computing , 2008, Workshop on Membrane Computing.

[34]  Wen-mei W. Hwu,et al.  Program optimization carving for GPU computing , 2008, J. Parallel Distributed Comput..

[35]  Mario J. Pérez-Jiménez,et al.  A Model of the Quorum Sensing System in Vibrio fischeri Using P Systems , 2008, Artificial Life.

[36]  Manish Vachharajani,et al.  GPU acceleration of numerical weather prediction , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[37]  Mario J. Pérez-Jiménez,et al.  Modelling gene expression control using P systems: The Lac Operon, a case study , 2008, Biosyst..

[38]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[39]  Miguel A. Martínez-del-Amor,et al.  P-Lingua 2.0: A software framework for cell-like P systems , 2009, Int. J. Comput. Commun. Control.

[40]  Mario de Jesús Pérez Jiménez,et al.  P System Based Model of an Ecosystem of the Scavenger Birds , 2009 .

[41]  Mario J. Pérez-Jiménez,et al.  A P System Based Model of an Ecosystem of Some Scavenger Birds , 2009, Workshop on Membrane Computing.

[42]  Mark J. Harris,et al.  Parallel Prefix Sum (Scan) with CUDA , 2011 .