The Journal of Supercomputing

, Volume 63, Issue 3, pp 773–789 | Cite as

Enhancing GPU parallelism in nature-inspired algorithms

  • José M. CeciliaEmail author
  • Andy Nisbet
  • Martyn Amos
  • José M. García
  • Manuel Ujaldón


We present GPU implementations of two different nature-inspired optimization methods for well-known optimization problems. Ant Colony Optimization (ACO) is a two-stage population-based method modelled on the foraging behaviour of ants, while P systems provide a high-level computational modelling framework that combines the structure and dynamic aspects of biological systems (in particular, their parallel and non-deterministic nature). Our methods focus on exploiting data parallelism and memory hierarchy to obtain GPU factor gains surpassing 20x for any of the two stages of the ACO algorithm, and 16x for P systems when compared to sequential versions running on a single-threaded high-end CPU. Additionally, we compare performance between GPU generations to validate hardware enhancements introduced by Nvidia’s Fermi architecture.


GPUs HPC ACO P systems Bioinspired methods 



Partially supported by a travel grant from project EU FP7 NoE HiPEAC IST-217068, and by the Spanish MEC and European Commission FEDER funds under grants “Consolider Ingenio-2010 CSD2006-00046” and “TIN2009-14475-C04-02”, and also by the Fundación Séneca (Agencia Regional de Ciencia y Tecnología, Región de Murcia) under grant 15290/PI/2010. We also thank NVIDIA for hardware donation under Professor Partnership 2008–2010, CUDA Teaching Center 2011–2013, CUDA Research Center 2012 and CUDA Fellow 2012 Awards.


  1. 1.
    Blum C (2005) Ant colony optimization: introduction and recent trends. Phys Life Rev 2(4):353–373 CrossRefGoogle Scholar
  2. 2.
    Cecilia JM, García JM, Guerrero GD, Martínez-del-Amor MA, Pérez-Hurtado I, Pérez-Jiménez MJ (2010) Simulation of P systems with active membranes on CUDA. Brief Bioinform 11(3):313–322 CrossRefGoogle Scholar
  3. 3.
    Cecilia JM, García JM, Guerrero GD, Martínez-del-Amor MA, Pérez-Jiménez MJ, Ujaldón M (2010) P systems simulations on massively parallel architectures. In: Third international workshop on parallel architectures and bioinspired algorithms (WPABA’ 10), in conjunction with the nineteenth international conference on parallel architectures and compilations techniques (PACT’ 10), Vienna, Austria Google Scholar
  4. 4.
    Díaz-Pernil D, Pérez-Hurtado I, Pérez-Jiménez MJ, Riscos-Núñez A (2008) P-lingua: a programming language for membrane computing. In: Proceedings of the 6th brainstorming week on membrane computing, Sevilla, Spain Google Scholar
  5. 5.
    Dorigo M (1992) Optimization, learning and natural algorithms. Dissertation, Politecnico di Milano Google Scholar
  6. 6.
    Dorigo M, Birattari M, Stützle T (2006) Ant colony optimization. IEEE Comput Intell Mag 1(4):28–39 Google Scholar
  7. 7.
    Dorigo M, Bonabeau E, Theraulaz G (2000) Ant algorithms and stigmergy. Future Gener Comput Syst 16:851–871 CrossRefGoogle Scholar
  8. 8.
    Dorigo M, Colorni A, Maniezzo V (1991) Positive feedback as a search strategy. Dipartimento di Elettronica, Politecnico di Milano, Milan, Italy, Tech Rep 91-016 Google Scholar
  9. 9.
    Dorigo M, Maniezzo V, Colorni A (1996) The ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern, Part B 26:29–41 CrossRefGoogle Scholar
  10. 10.
    Dorigo M, Stützle T (2004) Ant colony optimization. Bradford Company, Scituate zbMATHCrossRefGoogle Scholar
  11. 11.
    Fu J, Lei L, Zhou G (2010) A parallel ant colony optimization algorithm with GPU-acceleration based on all-in-roulette selection. In: Proceedings of the third international workshop on advanced computational intelligence (IWACI), Suzhou, China Google Scholar
  12. 12.
    Garland M, Le Grand S, Nickolls J, et al (2008) Parallel computing experiences with CUDA. IEEE Micro 28:13–27 CrossRefGoogle Scholar
  13. 13.
    Garland M, Kirk DB (2010) Understanding throughput-oriented architectures. Commun ACM 53:58–66 CrossRefGoogle Scholar
  14. 14.
    Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Longman, Reading, Harlow zbMATHGoogle Scholar
  15. 15.
    Johnson DS, Mcgeoch LA (1997) The traveling salesman problem: a case study in local optimization. In: Aarts EHL, Lenstra JK (eds) Local search in combinatorial optimization. Wiley, London, pp 215–310 Google Scholar
  16. 16.
    Lam MD, Rothberg EE, Wolf ME (1991) The cache performance and optimizations of blocked algorithms. ACM SIGPLAN Not 26(4):63–74 CrossRefGoogle Scholar
  17. 17.
    Lawler E, Lenstra J, Kan A, Shmoys D (1987) The traveling salesman problem. Wiley, New York Google Scholar
  18. 18.
    Li J, Hu X, Pang Z, Qian K (2009) A parallel ant colony optimization algorithm based on fine-grained model with GPU acceleration. Int J Innov Comput, Inf Control 5(11):3707–3715 Google Scholar
  19. 19.
    NVIDIA CUDA C Programming Guide 4.0 (2011) Google Scholar
  20. 20.
    NVIDIA CUDA C Best Practices Guide 4.0 (2011) Google Scholar
  21. 21.
    NVIDIA, Whitepaper NVIDIA’s Next Generation CUDA Compute Architecture: Fermi (2009) Google Scholar
  22. 22.
    Păun G (2002) Membrane computing: An introduction. Springer, Berlin zbMATHCrossRefGoogle Scholar
  23. 23.
    Păun G (2000) Computing with membranes. J Comput Syst Sci 61:108–143. TUCS Report No 208 zbMATHCrossRefGoogle Scholar
  24. 24.
    Pérez-Jiménez MJ, Romero-Jiménez Á, Sancho-Caparrini F (2003) Complexity classes in models of cellular computing with membranes. Nat Comput 2(3):265–285 MathSciNetzbMATHCrossRefGoogle Scholar
  25. 25.
    Qasem M (2009) WinSAT website.
  26. 26.
    Reinelt G (1991) TSPLIB: A traveling salesman problem library. ORSA J Comput 3(4):376–384 zbMATHCrossRefGoogle Scholar
  27. 27.
    Scavo T (2010) Scatter-to-gather transformation for scalability Google Scholar
  28. 28.
  29. 29.
    You YS (2009) Parallel ant system for traveling salesman problem on GPUs. In: GECCO 2009—GPUs for genetic and evolutionary computation, pp 1–2 Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  • José M. Cecilia
    • 1
    Email author
  • Andy Nisbet
    • 2
  • Martyn Amos
    • 2
  • José M. García
    • 3
  • Manuel Ujaldón
    • 4
  1. 1.Departamento de Informática, Escuela politécnicaUniversidad Católica San Antonio MurciaGuadalupeSpain
  2. 2.School of Computing, Mathematics and Digital TechnologyManchester Metropolitan UniversityManchesterUK
  3. 3.Facultad de InformáticaUniversidad de MurciaMurciaSpain
  4. 4.Computer Architecture Department, ETSI InformáticaUniversity of MálagaMálagaSpain

Personalised recommendations