Skip to main content
Log in

Enhancing GPU parallelism in nature-inspired algorithms

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Algorithm 1
Algorithm 2
Algorithm 3
Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. Blum C (2005) Ant colony optimization: introduction and recent trends. Phys Life Rev 2(4):353–373

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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. 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. Dorigo M (1992) Optimization, learning and natural algorithms. Dissertation, Politecnico di Milano

  6. Dorigo M, Birattari M, Stützle T (2006) Ant colony optimization. IEEE Comput Intell Mag 1(4):28–39

    Google Scholar 

  7. Dorigo M, Bonabeau E, Theraulaz G (2000) Ant algorithms and stigmergy. Future Gener Comput Syst 16:851–871

    Article  Google Scholar 

  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

  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

    Article  Google Scholar 

  10. Dorigo M, Stützle T (2004) Ant colony optimization. Bradford Company, Scituate

    Book  MATH  Google Scholar 

  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. Garland M, Le Grand S, Nickolls J, et al (2008) Parallel computing experiences with CUDA. IEEE Micro 28:13–27

    Article  Google Scholar 

  13. Garland M, Kirk DB (2010) Understanding throughput-oriented architectures. Commun ACM 53:58–66

    Article  Google Scholar 

  14. Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Longman, Reading, Harlow

    MATH  Google Scholar 

  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. Lam MD, Rothberg EE, Wolf ME (1991) The cache performance and optimizations of blocked algorithms. ACM SIGPLAN Not 26(4):63–74

    Article  Google Scholar 

  17. Lawler E, Lenstra J, Kan A, Shmoys D (1987) The traveling salesman problem. Wiley, New York

    Google Scholar 

  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. NVIDIA CUDA C Programming Guide 4.0 (2011)

  20. NVIDIA CUDA C Best Practices Guide 4.0 (2011)

  21. NVIDIA, Whitepaper NVIDIA’s Next Generation CUDA Compute Architecture: Fermi (2009)

  22. Păun G (2002) Membrane computing: An introduction. Springer, Berlin

    Book  MATH  Google Scholar 

  23. Păun G (2000) Computing with membranes. J Comput Syst Sci 61:108–143. TUCS Report No 208

    Article  MATH  Google Scholar 

  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

    Article  MathSciNet  MATH  Google Scholar 

  25. Qasem M (2009) WinSAT website. http://users.ecs.soton.ac.uk/mqq06r/winsat

  26. Reinelt G (1991) TSPLIB: A traveling salesman problem library. ORSA J Comput 3(4):376–384

    Article  MATH  Google Scholar 

  27. Scavo T (2010) Scatter-to-gather transformation for scalability

  28. TSPLIB Webpage (2011) http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/

  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 

Download references

Acknowledgements

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José M. Cecilia.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cecilia, J.M., Nisbet, A., Amos, M. et al. Enhancing GPU parallelism in nature-inspired algorithms. J Supercomput 63, 773–789 (2013). https://doi.org/10.1007/s11227-012-0770-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-012-0770-1

Keywords

Navigation