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.





Similar content being viewed by others
References
Blum C (2005) Ant colony optimization: introduction and recent trends. Phys Life Rev 2(4):353–373
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
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
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
Dorigo M (1992) Optimization, learning and natural algorithms. Dissertation, Politecnico di Milano
Dorigo M, Birattari M, Stützle T (2006) Ant colony optimization. IEEE Comput Intell Mag 1(4):28–39
Dorigo M, Bonabeau E, Theraulaz G (2000) Ant algorithms and stigmergy. Future Gener Comput Syst 16:851–871
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
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
Dorigo M, Stützle T (2004) Ant colony optimization. Bradford Company, Scituate
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
Garland M, Le Grand S, Nickolls J, et al (2008) Parallel computing experiences with CUDA. IEEE Micro 28:13–27
Garland M, Kirk DB (2010) Understanding throughput-oriented architectures. Commun ACM 53:58–66
Goldberg DE (1989) Genetic algorithms in search, optimization and machine learning. Addison-Wesley, Longman, Reading, Harlow
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
Lam MD, Rothberg EE, Wolf ME (1991) The cache performance and optimizations of blocked algorithms. ACM SIGPLAN Not 26(4):63–74
Lawler E, Lenstra J, Kan A, Shmoys D (1987) The traveling salesman problem. Wiley, New York
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
NVIDIA CUDA C Programming Guide 4.0 (2011)
NVIDIA CUDA C Best Practices Guide 4.0 (2011)
NVIDIA, Whitepaper NVIDIA’s Next Generation CUDA Compute Architecture: Fermi (2009)
Păun G (2002) Membrane computing: An introduction. Springer, Berlin
Păun G (2000) Computing with membranes. J Comput Syst Sci 61:108–143. TUCS Report No 208
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
Qasem M (2009) WinSAT website. http://users.ecs.soton.ac.uk/mqq06r/winsat
Reinelt G (1991) TSPLIB: A traveling salesman problem library. ORSA J Comput 3(4):376–384
Scavo T (2010) Scatter-to-gather transformation for scalability
TSPLIB Webpage (2011) http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/
You YS (2009) Parallel ant system for traveling salesman problem on GPUs. In: GECCO 2009—GPUs for genetic and evolutionary computation, pp 1–2
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
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-012-0770-1