Advertisement

Implementing P Systems Parallelism by Means of GPUs

  • Jose M. Cecilia
  • José M. García
  • Ginés D. Guerrero
  • Miguel A. Martínez–del–Amor
  • Ignacio Pérez–Hurtado
  • Mario J. Pérez–Jiménez
Conference paper
  • 389 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5957)

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.

Keywords

Graphic Processing Unit Active Membrane Thread Block Graphic Hardware Selection Stage 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alhazov, A., Pérez–Jiménez, M.J.: Uniform solution of QSAT using polarizationless active membranes. In: Durand-Lose, J., Margenstern, M. (eds.) MCU 2007. LNCS, vol. 4664, pp. 122–133. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., Hanrahan, P.: Brook for GPUs: stream computing on graphics hardware. In: SIGGRAPH 2004, pp. 777–786. ACM Press, New York (2004)CrossRefGoogle Scholar
  3. 3.
    Ciobanu, G., Pérez–Jiménez, M.J., Păun, G. (eds.): Applications of membrane computing. Springer, Heidelberg (2006)Google Scholar
  4. 4.
    Ciobanu, G., Wenyuan, G.: P systems running on a cluster of computers. LNCS, vol. 2993, pp. 123–139. Springer, Heidelberg (2004)Google Scholar
  5. 5.
    Díaz–Pernil, D., Pérez–Hurtado, I., Pérez–Jiménez, M.J., Riscos–Núñez, A.: A P-Lingua programming environment for Membrane Computing. In: Corne, D.W., Frisco, P., Paun, G., Rozenberg, G., Salomaa, A. (eds.) WMC 2008. LNCS, vol. 5391, pp. 187–203. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    Fernández, L., Martínez, V.J., Arroyo, F., Mingo, L.F.: A hardware circuit for selecting active rules in transition P systems. In: Proceedings of the Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing, p. 415 (2005)Google Scholar
  7. 7.
    García–Quismondo, M., Gutiérrez–Escudero, R., Martínez–del–Amor, M.A., Orejuela, E., Pérez–Hurtado, I.: P–Lingua 2.0. A software framework for cell-like P systems. Intern. J. Computers, Communications and Control IV(3), 234–243 (2009)Google Scholar
  8. 8.
    Garland, M., Grand, S.L., Nickolls, J., Anderson, J., Hardwick, J., Morton, S., Phillips, E., Zhang, Y., Volkov, V.: Parallel computing experiences with CUDA. IEEE Micro 28(4), 13–27 (2008)CrossRefGoogle Scholar
  9. 9.
    Govindaraju, N.K., Manocha, D.: Cache–efficient numerical algorithms using graphics hardware. Parallel Computing 33(10-11), 663–684 (2007)Google Scholar
  10. 10.
    Gutiérrez–Naranjo, M.A., Martínez–del–Amor, M.A., Pérez–Hurtado, I., Pérez–Jiménez, M.J.: Solving the N–queens puzzle with P systems. In: Proc. 7th Brainstorming Week on Membrane Computing, vol. I, pp. 199–210 (2009)Google Scholar
  11. 11.
    Gutiérrez–Naranjo, M.A., Pérez–Jiménez, M.J., Riscos–Núñez, A.: Available membrane computing software. In: Applications of Membrane Computing, ch. 15, pp. 411–436. Springer, Heidelberg (2006)Google Scholar
  12. 12.
    Gutiérrez–Naranjo, M.A., Pérez–Jiménez, M.J., Riscos–Núñez, A.: Towards a programming language in cellular computing. Electronic Notes in Theoretical Computer Science 123, 93–110 (2005)CrossRefGoogle Scholar
  13. 13.
    Harris, M., Sengupta, S., Owens, J.D.: Parallel prefix sum (Scan) with CUDA. GPU Gems 3 (2007)Google Scholar
  14. 14.
    Hartley, T.D., Catalyurek, U., Ruiz, A., Igual, F., Mayo, R., Ujaldon, M.: Biomedical image analysis on a cooperative cluster of GPUs and multicores. In: ICS 2008: Proce. 22nd annual international conference on Supercomputing, pp. 15–25. ACM, New York (2008)CrossRefGoogle Scholar
  15. 15.
    Lam, M.D., Rothberg, E.E., Wolf, M.E.: The cache performance and optimizations of blocked algorithms. In: ASPLOS-IV: Proceedings of the fourth international conference on Architectural support for programming languages and operating systems, pp. 63–74. ACM, New York (1991)CrossRefGoogle Scholar
  16. 16.
    Lindholm, E., Nickolls, J., Oberman, S., Montrym, J.: Nvidia Tesla. A unified graphics and computing architecture. IEEE Micro 28(2), 39–55 (2008)CrossRefGoogle Scholar
  17. 17.
    Mark, W.R., Glanville, R.S., Akeley, K., Kilgard, M.J.: Cg – a system for programming graphics hardware in a C–like language. In: SIGGRAPH 2003, pp. 896–907. ACM, New York (2003)CrossRefGoogle Scholar
  18. 18.
    Martínez–del–Amor, M.A., Pérez–Hurtado, I., Pérez–Jiménez, M.J., Cecilia, J.M., Guerrero, G.D., García, J.M.: Simulation of Recognizer P Systems by using Manycore GPUs. In: Proc. 7th Brainstorming Week on Membrane Computing, vol. II, pp. 45–58 (2009)Google Scholar
  19. 19.
    Michalakes, J., Vachharajani, M.: GPU acceleration of numerical weather prediction. In: IPDPS, pp. 1–7 (2008)Google Scholar
  20. 20.
    Nguyen, V., Kearney, D., Gioiosa, G.: An algorithm for non-deterministic object distribution in P systems and its implementation in hardware. In: Corne, D.W., Frisco, P., Paun, G., Rozenberg, G., Salomaa, A. (eds.) WMC 2008. LNCS, vol. 5391, pp. 325–354. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  21. 21.
    Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. Queue 6(2), 40–53 (2008)CrossRefGoogle Scholar
  22. 22.
    Owens, J.D., Houston, M., Luebke, D., Green, S., Stone, J.E., Phillips, J.C.: Gpu computing. Proceedings of the IEEE 96(5), 879–899 (2008)CrossRefGoogle Scholar
  23. 23.
    Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Krger, J., Lefohn, A.E., Purcell, T.J.: A survey of general–purpose computation on graphics hardware. Computer Graphics Forum 26(1), 80–113 (2007)CrossRefGoogle Scholar
  24. 24.
    Păun, G.: Computing with membranes. Journal of Computer and System Sciences 61(1), 108–143 (2000); Turku Center for Computer Science-TUCS Report No 208zbMATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Păun, G.: Membrane Computing, An introduction. Springer, Berlín (2002)zbMATHGoogle Scholar
  26. 26.
    Pérez–Jiménez, M.J., Romero–Jiménez, A., Sancho–Caparrini, F.: Complexity classes in models of cellular computing with membranes. Natural Computing 2(3), 265–285 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Pérez–Jiménez, M.J., Romero–Jiménez, A., Sancho–Caparrini, F.: A polynomial complexity class in P systems using membrane division. Journal of Automata, Languages and Combinatorics 11(4), 423–434 (2006)zbMATHMathSciNetGoogle Scholar
  28. 28.
    Satish, N., Harris, M., Garland, M.: Designing efficient sorting algorithms for manycore GPUs. To Appear in Proc. 23rd IEEE International Parallel and Distributed Processing Symposium (2009)Google Scholar
  29. 29.
    Ruiz, A., Ujaldon, M., Andrades, J.A., Becerra, J., Huang, K., Pan, T., Saltz, J.H.: The GPU on biomedical image processing for color and phenotype analysis. In: BIBE, pp. 1124–1128 (2007)Google Scholar
  30. 30.
    Ryoo, S., Rodrigues, C., Baghsorkhi, S., Stone, S., Kirk, D., Mei Hwu, W.: Optimization principles and application performance evaluation of a multithreaded GPU using CUDA. In: Proc. 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 73–82 (2008)Google Scholar
  31. 31.
    Ryoo, S., Rodrigues, C.I., Stone, S.S., Stratton, J.A., Ueng, S.-Z., Baghsorkhi, S.S., Hwu, W.W.: Program optimization carving for GPU computing. J. Parallel Distrib. Comput. 68(10), 1389–1401 (2008)CrossRefGoogle Scholar
  32. 32.
  33. 33.
    GPGPU organization. World Wide Web electronic publication, http://www.gpgpu.org
  34. 34.
    Nvidia CUDA. World Wide Web electronic publication, http://www.nvidia.com/cuda

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Jose M. Cecilia
    • 2
  • José M. García
    • 2
  • Ginés D. Guerrero
    • 2
  • Miguel A. Martínez–del–Amor
    • 1
  • Ignacio Pérez–Hurtado
    • 1
  • Mario J. Pérez–Jiménez
    • 1
  1. 1.Research Group on Natural Computing, Department of Computer Science and Artificial IntelligenceUniversity of SevillaSevillaSpain
  2. 2.Grupo de Arquitectura y Computación Paralela, Dpto. Ingeniería y Tecnología de ComputadoresUniversidad de MurciaMurciaSpain

Personalised recommendations