@article {456,
	title = {Simulation of recognizer P systems by using manycore GPUs },
	journal = {7th Brainstorming Week on Membrane Computing},
	volume = {II},
	year = {2009},
	month = {02/02/2009},
	pages = {45-58},
	publisher = {F{\'e}nix Editora},
	address = {Sevilla, Espa{\~n}a},
	abstract = {Software development for cellular computing is growing up yielding new
applications. In this paper, we describe a simulator for the class of recognizer P systems
with active membranes, which exploits the massively parallel nature of the P systems
computations by using a massively parallel computer architecture, such as Compute
Unified Device Architecture (CUDA) from Nvidia, to obtain better performance in the
simulations. We illustrate it by giving a solution to the N-Queens problem as an example.
},
	isbn = {978-84-613-2839-0},
	url = {http://www.gcn.us.es/?q=node/414},
	author = {Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez and Jos{\'e} M. Cecilia and Gin{\'e}s D. Guerrero and Jos{\'e} M. Garc{\'\i}a}
}
@article {502,
	title = {Simulation of P Systems with active membranes on CUDA},
	journal = {2009 International Workshop on High Performance Computational Systems Biology},
	year = {2009},
	note = {Webpage of the conference: http://www.cosbi.eu/hibi09/ },
	month = {October 2009},
	pages = {61-71},
	publisher = {IEEE Computer Society},
	address = {Trento, Italy},
	abstract = {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.
},
	isbn = {978-0-7695-3809-9},
	doi = {10.1109/HiBi.2009.13},
	url = {http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=\&arnumber=5298701\&isnumber=5298664},
	author = {Jos{\'e} M. Cecilia and Gin{\'e}s D. Guerrero and Jos{\'e} M. Garc{\'\i}a and Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez}
}
@article {516,
	title = {Simulation of P systems with active membranes on CUDA},
	journal = {Briefings in Bioinformatics},
	volume = {11},
	year = {2010},
	note = {Parallel and Ubiquitous methods and tools in Systems Biology
Impact Factor of 9.283},
	month = {03/2010},
	pages = {313-322},
	publisher = {Oxford University Press},
	abstract = {P systems or Membrane Systems provide a high-level computational modelling framework that combines the structure and dynamic aspects of biological systems in a relevant and understandable way. They are inherently parallel and non-deterministic computing devices. In this article, we discuss the motivation, design principles and key of the implementation of a simulator for the class of recognizer P systems with active membranes running on a (GPU). We compare our parallel simulator for GPUs to the simulator developed for a single central processing unit (CPU), showing that GPUs are better suited than CPUs to simulate P systems due to their highly parallel nature.},
	keywords = {CUDA, GPU, Membrane computing, Natural computing, P systems, parallel computing},
	issn = {1477-4054},
	doi = {10.1093/bib/bbp064},
	url = {http://bib.oxfordjournals.org/cgi/content/abstract/bbp064v1},
	author = {Jos{\'e} M. Cecilia and Jos{\'e} M. Garc{\'\i}a and Gin{\'e}s D. Guerrero and Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez}
}
@article {480,
	title = {Simulating active membrane systems using GPUs},
	journal = {10th Workshop on Membrane Computing},
	year = {2009},
	month = {24-27/08/2009},
	pages = {369-384},
	publisher = {Marpapublicidad},
	address = {Curtea de Arges, Rumania},
	abstract = {Software development for cellular computing is growing up yielding new applications.
In this paper, we describe a simulator for the class of recognizer P systems
with active membranes, which exploits the massively parallel nature of P systems computations
by using GPUs (Graphics Processing Units). The newest generation of GPUs
provide a massively parallel framework to compute general purpose computations. We
present GPUs as an alternative to obtain better performance in the simulation of P
systems and we illustrate it by giving a solution to the N-Queens problem as an example.},
	url = {http://www.gcn.us.es/?q=procwmc10},
	author = {Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez and Jos{\'e} M. Cecilia and Gin{\'e}s D. Guerrero and Jos{\'e} M. Garc{\'\i}a},
	editor = {Gheorghe Paun and Mario J. P{\'e}rez-Jim{\'e}nez and Agust{\'\i}n Riscos-N{\'u}{\~n}ez}
}
@article {615,
	title = {Simulating a P system based efficient solution to SAT by using GPUs },
	journal = {Journal of Logic and Algebraic Programming},
	volume = {79},
	year = {2010},
	note = {Membrane computing and programming },
	month = {08/2010},
	pages = {317-325},
	publisher = {Elsevier B.V.},
	address = {North Holland},
	abstract = {P systems are inherently parallel and non-deterministic theoretical computing devices defined inside the field of Membrane Computing. Many P system simulators have been presented in this area, but they are inefficient since they cannot handle the parallelism of these devices. Nowadays, we are witnessing the consolidation of the GPUs as a parallel framework to compute general purpose applications. In this paper, we analyse GPUs as an alternative parallel architecture to improve the performance in the simulation of P systems, and we illustrate it by using the case study of a family of P systems that provides an efficient and uniform solution to the SAT problem. Firstly, we develop a simulator that fully simulates the computation of the P system, demonstrating that GPUs are well suited to simulate them. Then, we adapt this simulator to the GPU architecture idiosyncrasies, improving the performance of the previous simulator.},
	keywords = {GPUs, Membrane computing, P systems, SAT},
	issn = {1567-8326},
	doi = {dx.doi.org/10.1016/j.jlap.2010.03.008},
	url = {http://dx.doi.org/10.1016/j.jlap.2010.03.008},
	author = {Jos{\'e} M. Cecilia and Jos{\'e} M. Garc{\'\i}a and Gin{\'e}s D. Guerrero and Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez}
}
@article {661,
	title = {P systems simulations on massively parallel architectures},
	journal = {Third International Workshop on Parallel Architectures and Bioinspired Algorithms},
	year = {2010},
	note = {Third International Workshop on Parallel Architectures and Bioinspired Algorithms (WPABA{\textquoteright} 10) in conjuntion with the Nineteenth International Conference on Parallel Architectures and Compulations Techniques (PACT{\textquoteright} 10)},
	month = {September 2010},
	pages = {17-26},
	address = {Vienna, Austria},
	abstract = {Membrane Computing is an emergent research area studying the behaviour of living cells to define bio-inspired computing devices, also called P systems. Such devices provide polynomial time solutions to NP-complete problems by trading time for space. The efficient simulation of P systems 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 (SAT) problem in linear time on three different architectures: a shared memory system, a distributed memory system, and a set of Graphics Processing Units (GPUs). For an efficient handling of the exponential workspace created by the P systems computation, we enable different data policies on those architectures to increase memory bandwidth and exploit data locality through tiling. Parallelism inherent to the target P system is also managed on each architecture to demonstrate that GPUs offer a valid alternative for high-performance computing at a considerably lower cost: Considering the largest problem size we were able to run on the three parallel platforms involving four processors, execution times were 20049.70 ms. using OpenMP on the shared memory multiprocessor, 4954.03 ms. using MPI on the distributed memory multiprocessor and 565.56 ms. using CUDA in our four GPUs, which results in speed factors of 35.44x and 8.75x, respectively. },
	isbn = {978-84-693-6141-2},
	url = {http://bioinspired.dacya.ucm.es/lib/exe/fetch.php?media=wpaba2010proc.pdf},
	author = {Jos{\'e} M. Cecilia and Jos{\'e} M. Garc{\'\i}a and Gin{\'e}s D. Guerrero and Miguel A. Mart{\'\i}nez-del-Amor and Mario J. P{\'e}rez-Jim{\'e}nez and Manuel Ujald{\'o}n}
}
@article {500,
	title = {A massively parallel framework using P systems and GPUs},
	journal = {Symposium on Application Accelerators in High Performance Computing},
	year = {2009},
	note = {Poster also available: http://www.p-lingua.org/~miguel/papers/2009/psystem_poster_saahpc09.pdf
Webpage of the conference: http://saahpc.ncsa.illinois.edu/09/agenda.html},
	month = {July 2009},
	address = {Illinois, USA},
	abstract = {Since CUDA programing model appeared on the 
general purpose computations, the developers can extract all 
the power contained in GPUs (Graphics Processing Unit) across        
many computational domains. Among these domains, P systems                                                                     
or membrane systems provide a high level computational mod-                                                                   
eling framework that allows, in theory, to obtain polynomial                                                                    
time solutions to NP-complete problems by trading time for
space, and also to model biological phenomena in the area of         
computational systems biology. P systems are massively parallel     
distributed devices and their computation can be divided in two                                                                  
levels of parallelism: membranes, that can be expressed as blocks                                                                   
in CUDA programming model; and objects, that can be expressed                                                                  
as threads in CUDA programming model. In this paper, we
present our initial ideas of developing a simulator for the class of
recognizer P systems with active membranes by using the CUDA      
programing model to exploit the massively parallel nature of                                                                     
those systems at maximum. Experimental results of a preliminary                                                              
version of our simulator on a Tesla C1060 GPU show a 60X of                                                               
speed-up compared to the sequential code.                                                                     },
	url = {http://www.p-lingua.org/~miguel/papers/2009/psystem_saahpc09.pdf},
	author = {Jos{\'e} M. Cecilia and Gin{\'e}s D. Guerrero and Jos{\'e} M. Garc{\'\i}a and Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez}
}
@article {511,
	title = {Implementing P systems parallelism by means of GPUs},
	journal = {Lecture Notes in Computer Science},
	volume = {5957},
	year = {2010},
	note = {Membrane Computing, 10th International Workshop, WMC 2009, Curtea de Arges, Romania, August 24-27, 2009, Revised Selected and Invited Papers},
	month = {01/2010},
	pages = {227-241},
	publisher = {Springer},
	address = {Amsterdam, The Netherlands},
	abstract = {Software development for Membrane Computing is growing up yielding new applications. Nowadays, the efficiency of P systems simulators have become a critical point when working with instances of large size. The newest generation of GPUs (Graphics Processing Units) provide a massively parallel framework to compute general purpose computations. We present GPUs as an alternative to obtain better performance in the simulation of P systems and we illustrate it by giving a solution to the N-Queens problem as an example. },
	issn = {0302-9743},
	doi = {10.1007/978-3-642-11467-0_17},
	url = {http://springerlink.com/content/p711691h1p64x7u3/?p=700938793a854ec885f89e0657ea06f4\&pi=16},
	author = {Jos{\'e} M. Cecilia and Jos{\'e} M. Garc{\'\i}a and Gin{\'e}s D. Guerrero and Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez}
}
@article {742,
	title = {The GPU on the Simulation of Cellular Computing Models},
	journal = {Soft Computing},
	volume = {16},
	year = {2012},
	pages = {231-246},
	publisher = {Springer Verlag},
	address = {Berlin, Germany},
	abstract = {Membrane Computing is a discipline aiming to abstract formal com-
puting 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 mas-
sively 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 Sat-
isfiability (SAT) problem in linear time on different instances of Graphics Pro-
cessing 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 dy-
namic queues. Parallelism inherent to the target P system is also managed to
demonstrate that GPUs offer a valid alternative for high-performance comput-
ing 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.

},
	keywords = {GPUs, High performance computing, Manycore, P systems, SAT problem},
	issn = {1432-7643},
	doi = {10.1007/s00500-011-0716-1},
	url = {http://www.springerlink.com/content/t315824k54044l7p/},
	author = {Jos{\'e} M. Cecilia and Jos{\'e} M. Garc{\'\i}a and Gin{\'e}s D. Guerrero and Miguel A. Mart{\'\i}nez-del-Amor and Mario J. P{\'e}rez-Jim{\'e}nez and Manuel Ujald{\'o}n}
}
@article {660,
	title = {Enhancing the Simulation of P Systems for the SAT Problem on GPUs},
	journal = { Symposium on Application Accelerators in High Performance Computing},
	year = {2010},
	month = {July 2010},
	address = {Knoxville, USA},
	abstract = {GPUs constitute nowadays a solid alternative for
high performance computing, and the advent of CUDA/OpenCL
allow programmers a friendly model to accelerate a broad range
of applications. The way GPUs exploit parallelism differ from
multi-core CPUs, which raises new challenges to take advantage
of its tremendous computing power. In this respect, P systems or
Membrane Systems provide a high-level computational modeling
framework that combines the structure and dynamic aspects
of biological systems while being inherently parallel and non-
deterministic. In this work, we implement on GPUs the simula-
tion for a solution provided by Membrane Computing to solve the
Satisfiability (SAT) problem. The overall speed up reaches 100x
versus a sequential CPU, with an additional 16x due to CUDA
optimizations. A promising scalability is also proven on more
sophisticated GPU clusters and/or demanding problem sizes.},
	url = {http://saahpc.ncsa.illinois.edu/10/agenda.html},
	author = {Jos{\'e} M. Cecilia and Gin{\'e}s D. Guerrero and Jos{\'e} M. Garc{\'\i}a and Miguel A. Mart{\'\i}nez-del-Amor and Mario J. P{\'e}rez-Jim{\'e}nez and Manuel Ujald{\'o}n}
}
@article {501,
	title = {Analysis of P systems simulation on CUDA},
	journal = {XX Jornadas de Paralelismo},
	year = {2009},
	note = {Webpage of the conference: http://jornadas2009.gac.des.udc.es/},
	month = {September 2009},
	pages = {289-294},
	publisher = {Servizo de Publicaci{\'o}ns, Universidade da Coru{\~n}a},
	address = {A coru{\~n}a, Spain},
	abstract = {GPUs (Graphics Processing Unit) have been con- 
solidated as a massively data-parallel coprocessor to
develop many general purpose computations, and en-
able developers to utilize several levels of parallelism
to obtain better performance of their applications.
The massively parallel nature of certain computa-
tions leads to use GPUs as an underlying architec-
ture, becoming a good alternative to other paral-
lel approaches. P systems or membrane systems
are theoretical devices inspired in the way that liv- 
ing cells work, providing computational models and
a high level computational modeling framework for
biological systems. They are massively parallel dis-
tributed, and non-deterministic systems. In this pa-
per, we evaluate the GPU as the underlying archi-
tecture to simulate the class of recognizer P systems
with active membranes. We analyze the performance
of three simulators implemented on CPU, CPU-GPU 
and GPU respectively. We compare them using a pre-
sented P system as a benchmark, showing that the
GPU is better suited than the CPU to simulate those
P systems due to its massively parallel nature.},
	isbn = {84-9749-346-8},
	url = {http://www.p-lingua.org/~miguel/papers/2009/psystem_jornadas09.pdf},
	author = {Gin{\'e}s D. Guerrero and Jos{\'e} M. Cecilia and Jos{\'e} M. Garc{\'\i}a and Miguel A. Mart{\'\i}nez-del-Amor and Ignacio P{\'e}rez-Hurtado and Mario J. P{\'e}rez-Jim{\'e}nez}
}
