Enhancement of membrane computing model implementation on GPU by introducing matrix representation for balancing occupancy and reducing inter-block communications

Research output: Contribution to journalArticle

4 Citations (Scopus)

Abstract

In previous studies, objects of each membrane were assigned to threads of one thread block of the graphic processing unit (GPU). The number of active threads was low if the number of objects inside a membrane was low. This study represents objects of membranes as entities of a matrix. Then a sub-matrix represents the appropriate number of objects assigned to threads of each thread block to balance the load and keep the occupancy high even when the number of objects per membrane is low. The size of the sub-matrix or the appropriate number of active threads is determined automatically. Furthermore, by this approach it is possible to assign more than one membrane to each thread block and to execute communication between membranes in the same thread block without the need for time-consuming inter-block communication. For example, using the previous algorithm, for two objects per membrane the speed up is 0.6×, while for the proposed algorithm the speed up is 32.4×.

Original languageEnglish
Pages (from-to)861-871
Number of pages11
JournalJournal of Computational Science
Volume5
Issue number6
DOIs
Publication statusPublished - 1 Nov 2014

Fingerprint

Membrane Computing
Matrix Representation
Graphics Processing Unit
Thread
Balancing
Enhancement
Membrane
Membranes
Communication
Model
Speedup
Graphics processing unit
Assign
Object

Keywords

  • Graphics processing unit
  • Membrane computing
  • P systems
  • Parallel processing

ASJC Scopus subject areas

  • Computer Science(all)
  • Modelling and Simulation
  • Theoretical Computer Science

Cite this

@article{0c96ffb433f941ca9070fa1a519c758b,
title = "Enhancement of membrane computing model implementation on GPU by introducing matrix representation for balancing occupancy and reducing inter-block communications",
abstract = "In previous studies, objects of each membrane were assigned to threads of one thread block of the graphic processing unit (GPU). The number of active threads was low if the number of objects inside a membrane was low. This study represents objects of membranes as entities of a matrix. Then a sub-matrix represents the appropriate number of objects assigned to threads of each thread block to balance the load and keep the occupancy high even when the number of objects per membrane is low. The size of the sub-matrix or the appropriate number of active threads is determined automatically. Furthermore, by this approach it is possible to assign more than one membrane to each thread block and to execute communication between membranes in the same thread block without the need for time-consuming inter-block communication. For example, using the previous algorithm, for two objects per membrane the speed up is 0.6×, while for the proposed algorithm the speed up is 32.4×.",
keywords = "Graphics processing unit, Membrane computing, P systems, Parallel processing",
author = "Ali Maroosi and Muniyandi, {Ravie Chandren}",
year = "2014",
month = "11",
day = "1",
doi = "10.1016/j.jocs.2014.07.003",
language = "English",
volume = "5",
pages = "861--871",
journal = "Journal of Computational Science",
issn = "1877-7503",
publisher = "Elsevier",
number = "6",

}

TY - JOUR

T1 - Enhancement of membrane computing model implementation on GPU by introducing matrix representation for balancing occupancy and reducing inter-block communications

AU - Maroosi, Ali

AU - Muniyandi, Ravie Chandren

PY - 2014/11/1

Y1 - 2014/11/1

N2 - In previous studies, objects of each membrane were assigned to threads of one thread block of the graphic processing unit (GPU). The number of active threads was low if the number of objects inside a membrane was low. This study represents objects of membranes as entities of a matrix. Then a sub-matrix represents the appropriate number of objects assigned to threads of each thread block to balance the load and keep the occupancy high even when the number of objects per membrane is low. The size of the sub-matrix or the appropriate number of active threads is determined automatically. Furthermore, by this approach it is possible to assign more than one membrane to each thread block and to execute communication between membranes in the same thread block without the need for time-consuming inter-block communication. For example, using the previous algorithm, for two objects per membrane the speed up is 0.6×, while for the proposed algorithm the speed up is 32.4×.

AB - In previous studies, objects of each membrane were assigned to threads of one thread block of the graphic processing unit (GPU). The number of active threads was low if the number of objects inside a membrane was low. This study represents objects of membranes as entities of a matrix. Then a sub-matrix represents the appropriate number of objects assigned to threads of each thread block to balance the load and keep the occupancy high even when the number of objects per membrane is low. The size of the sub-matrix or the appropriate number of active threads is determined automatically. Furthermore, by this approach it is possible to assign more than one membrane to each thread block and to execute communication between membranes in the same thread block without the need for time-consuming inter-block communication. For example, using the previous algorithm, for two objects per membrane the speed up is 0.6×, while for the proposed algorithm the speed up is 32.4×.

KW - Graphics processing unit

KW - Membrane computing

KW - P systems

KW - Parallel processing

UR - http://www.scopus.com/inward/record.url?scp=84910076934&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84910076934&partnerID=8YFLogxK

U2 - 10.1016/j.jocs.2014.07.003

DO - 10.1016/j.jocs.2014.07.003

M3 - Article

AN - SCOPUS:84910076934

VL - 5

SP - 861

EP - 871

JO - Journal of Computational Science

JF - Journal of Computational Science

SN - 1877-7503

IS - 6

ER -