Spiking Neural P system without delay simulator implementation using GPGPUs Francis Cabarle Algorithms & Complexity Lab Department of Computer Science University of the Philippines Diliman fccabarle@up.edu.ph Henry Adorna Algorithms & Complexity Lab Department of Computer Science University of the Philippines Diliman hnadorna@dcs.upd.edu.ph Miguel Martínez-del-Amor Research Group on Natural Computing University of Seville, Spain mdelamor@us.es ABSTRACT This paper presents a parallel simulator for a type of P sys- tem known as spiking neural P system (SNP system) us- ing general purpose graphics processing units (GPGPUs). GPGPUs, unlike the more conventional and general pur- pose, multi-core CPUs, are used for parallelizable problems due to their architectural optimization for parallel compu- tations. Membrane computing or P systems on the other hand, are cell-inspired computational models which compute in a max- imally parallel and non-deterministic manner. SNP systems, w/c compute via time separated spikes and whose inspira- tion was taken from the way neurons operate in living or- ganisms, have been represented as matrices. The matrix representation of SNP systems provides a crucial step into their simulation on parallel devices such as GPG- PUs. Simulating the highly parallel nature of SNP systems necessitates the use of hardware intended for parallel com- putations. The simulator algorithms, design considerations, and implementation are presented. Finally, simulation re- sults, observations, and analyses using an SNP system that generates all numbers in N - {1} are discussed. Keywords Membrane computing, Parallel computing, GPU computing, simulators 1. INTRODUCTION 1.1 Parallel computing: Via graphics process- ing units (GPUs) The trend for massively parallel computation is moving from the more common multi-core CPUs towards GPGPUs for Partly supported by the UP Engineering Research and De- velopment for Technology (ERDT) program. several significant reasons [8][9]. One important reason for such a trend in recent years include the low consumption in terms of power of GPGPUs compared to setting up machines and infrastructure which will utilize multiple CPUs in order to obtain the same level of parallelization and performance [10]. Another more important reason is that GPGPUs are architectured for massively parallel computations since un- like the architectures of most general purpose CPUs, a large part of GPGPUs are devoted for arithmetic operations and not on control and caching [8][9]. Arithmetic operations are at the heart of many basic operations as well as sci- entific computations, and these are performed with larger speedups when done in parallel as compared to performing them sequentially. 1.2 Parallel computing: Via Membranes Membrane computing or its more specific counterpart, a P system, are Turing complete computing models (for some P system types or variants) that perform computations nonde- terministically, exhausting all possible computations at any given time. This type of unconventional model of compu- tation was introduced by Gheorghe P˘ aun in 1998 and takes inspiration, similar to other members of natural computing (e.g. DNA/molecular computing, neural networks, quan- tum computing), from nature [5][6]. Specifically, P systems try to mimic the constitution and dynamics of the living cell: the multitude of elements inside it, and their interac- tions within themselves and their environment, or outside the cell’s skin membrane. Before proceeding, it is impor- tant to clarify what is meant when it is said that nature computes, particularly life or the cell: computation in this case involves reading information from memory from past or present stimuli, rewrite and retrieve this data as a stimuli from the environment, process the gathered data and act accordingly due to this processing [1]. Thus, we extend the classical meaning of computation presented by Allan Turing. SN P systems differ from other types of P systems precisely because they are mono-membranar and only use one type of object in their computations. These characteristics, among others, are meant to capture the workings of a special type of cell known as the neuron. Neurons, such as those in the hu- man brain, communicate or ’compute’ by sending indistinct electro-chemical signals more commonly known as action po- tential or spikes [2]. Information is then communicated and encoded not by the spikes themselves, since the spikes are