Fig 2 - uploaded by José M. García
Content may be subject to copyright.
Nvcc compilation process

Nvcc compilation process

Source publication
Article
Full-text available
Software development for cellular computing is growing up yielding new ap-plications. 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 com-putations by using GPUs (Graphics Processing Units). The newest generation of GPUs provide a massively...

Context in source publication

Context 1
... user creates a program encompassing CPU code (Host code) and GPU code (Kernel code). They are separated and compiled by nvcc (Nvidia's compiler for CUDA code) as shown in figure 2 Firstly, the host code is responsible for transfering data from the main memory (RAM or host memory) to the GPU memory (device memory), using CUDA in- structions, such as cudamemcpy. Moreover, the host code has to state the number of threads executing the kernel function and the organization of them. ...

Similar publications

Conference Paper
Full-text available
Software developers are discovering that practices which have successfully served single-core platforms for decades do no longer work for multi-cores. Stream processing is a parallel execution model that is well-suited for architectures with multiple computational elements that are connected by a network. We propose a power-aware streaming executio...

Citations

... GPUs (graphical processing units) are being increasingly used to accelerate general-purpose tasks as opposed to just graphics applications. Recently, Martínez-del-Amor et al. [12,13] have investigated the idea of implementing a GPU-based membrane computing simulator that aims to exploit the massive parallelism of a GPU for the purpose of efficient execution of membrane computing applications. The simulator consists of a host CPU and a GPU (a Tesla C1060) that is coupled with the CUDA C programming environment. ...
Article
Reconfig-P is a prototype hardware implementation for membrane computing applications. Currently there are two alternative designs for the implementation of P systems in Reconfig-P: the rule-oriented design and the region-oriented design. Driven by the goal of high performance, the rule-oriented design treats reaction rules as the primary computational entities and represents regions only implicitly. In contrast, the region-oriented design represents regions, rather than reaction rules, as the primary computational entities, and thereby more directly reflects the intuitive conceptual understanding of a P system and promotes the extensibility of Reconfig-P. To improve its practical usefulness and versatility, not only should Reconfig-P include both of the hardware designs, it should be maintainable and extensible so that it can easily and effectively incorporate new implementation strategies and implementations of additional types of P systems. To accomplish a seamless integration of the rule-oriented and region-oriented designs and other alternative implementation strategies in Reconfig-P, and to make Reconfig-P amenable to future integration of additional implementation strategies, we have developed a new version of P Builder, our intelligent hardware source code generator, in accordance with a novel design pattern called Content-Form-Strategy. In this paper, we describe the Content-Form-Strategy pattern and the implementation of the new version of P Builder.
Conference Paper
A membrane, or P system, is a biologically inspired computational modelling paradigm that simulates both the structure and dynamical processes of a cellular mechanism. The computational power of a membrane system is derived from the non-deterministic nature and the inherent parallelism of these structures and processes. Recently a number of researchers have tried to utilise this powerful computational paradigm to solve complex problems. Currently, parallelisation in practical implementations of this paradigm use a SIMD (Single Instruction Multiple Data) type approach, normally focusing on a specific aspect of the P system structure and applying this to the rest of the system in a parallel manner; in a few cases the rule selection algorithm has been parallelised for this purpose, the rules themselves being applied in a traditional sequential manner. In this paper we propose that a MIMD (Multiple Instruction Multiple Data) architecture is a closer representation of the biological membrane/P system structure and allows a degree of parallelism that is not possible using SIMD type approaches. We identify the elements of the membrane system that can be parallelised and also demonstrate how these elements can be parallelised using a MIMD approach. We examine how the XMOS XS1 Simulator, which has an architecture suited to MIMD, can be used to implement a Numerical P system. Furthermore we suggest that the temporal aspects of cellular aging may be simulated by a simple extension to the standard P system model.