Skip to main content
Log in

A GPU implementation of a hybrid evolutionary algorithm: GPuEGO

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

Abstract

The high computation requirements of global optimization algorithms, when used to solve real optimization problems, have caused the appearance of different parallelization strategies using several parallel computing architectures. In this work, the Universal Evolutionary Global Optimizer is implemented in CUDA to be run on GPU architectures (GPuEGO). This parallelization of the referred evolutionary multimodal optimization algorithm is rather different from other previous parallel implementations designed to be executed into shared or distributed memory processors. In this case, due to the special characteristics of a GPU architecture, the original data structures are not valid and it has been necessary to redefine them and all the functions that operate with them. When this approach is applied the acceleration factors achieved by GPuEGO range from \({\times }\)6.33 to \({\times }\)23.20 depending on the test function.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. J. M. García-Martínez, E. M. Garzón, P. M. Ortigosa Test functions for multi-objective and multi-modal global optimization problems https://sites.google.com/site/gotestfunctions/ (2014).

  2. NVIDIA http://www.nvidia.com/content/PDF/fermi_white_papers/NVIDIA_Fermi_Compute_Architecture_Whitepaper (2013).

References

  1. Alba E (2005) Parallel metaheuristics: a new class of algorithms. John Wiley & Sons, Hoboken

    Book  Google Scholar 

  2. Alba E, Luque G, Nesmachnow S (2013) Parallel metaheuristics: recent advances and new trends. Int Trans Oper Res 20:1–48

    Article  MATH  Google Scholar 

  3. Brent R (1973) Algorithms for minimization without derivatives. Prentice-Hall, New Jersey

    MATH  Google Scholar 

  4. Fok K, Wong T, Wong M (2007) Evolutionary computing on consumer graphics hardware. IEEE Intell Syst 22(2):69–78

    Article  Google Scholar 

  5. Marsaglia G (2003) Xorshift RNGs. J Stat Softw 8(14):1–6

    Google Scholar 

  6. Jelásity M, Dombi J (1998) GAS, a concept on modeling species in genetic algorithms. Artif Intell 99(1):1–19

    Article  MATH  Google Scholar 

  7. Jelásity M, Ortigosa PM, García I (2001) UEGO, an abstract clustering technique for multimodal global optimization. J Heurist 7(3):215–233

    Article  MATH  Google Scholar 

  8. Kaeli DR, Leeser M (2008) Special issue: general-purpose processing using graphics processing units. J Parallel Distrib Comput 68(10):1305–1306

    Article  Google Scholar 

  9. Kirk DB, Hwu WW (2013) Programming massively parallel processors: a hands-on approach. Morgan Kaufmann, Massachusetts

    Google Scholar 

  10. Lakshmivarahan S, Dhall SK, Miller LL (1984) Parallel sorting algorithms. Adv Comput 23:295–354

    Article  MathSciNet  Google Scholar 

  11. Oliveira F, Davendra D, Guimares FG (2013) Multi-objective differential evolution on the GPU with C-CUDA. Soft Comput Models Ind Environ Appl 188:123–132

    Google Scholar 

  12. Ortigosa PM, García I, Jelásity M (2001) Reliability and performance of UEGO, a clustering-based global optimizer. J Glob Optim 19(3):265–289

    Article  MATH  Google Scholar 

  13. Ortigosa PM, Redondo JL, García I, Fernández JJ (2007) A population global optimization algorithm to solve the image alignment problem in electron crystallography. J Glob Optim 37(4):527–539

    Article  MATH  Google Scholar 

  14. Redondo JL, Fernández J, Arrondo AG, García I, Ortigosa PM (2013) A two-level evolutionary algorithm for solving the facility location and design (\(1|1\))-centroid problem on the plane with variable demand. J Glob Optim 56(3):983–1005

    Article  MATH  Google Scholar 

  15. Redondo JL, Fernández J, García I, Ortigosa PM (2009) A robust and efficient global optimization algorithm for planar competitive location problems. Ann Oper Res 167:87–106

    Article  MathSciNet  Google Scholar 

  16. Sanders J, Kandrot E (2010) CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley, Boston

    Google Scholar 

  17. Solis FJ, Wets RJB (1981) Minimization by random search techniques. Math Oper Res 6(1):19–30

    Article  MathSciNet  MATH  Google Scholar 

  18. Zhu W, Li Y (2010) GPU-accelerated differential evolutionary Markov Chain Monte Carlo method for multi-objective optimization over continuous space. In: BADS’10 Proceedings of the 2nd workshop on Bio-inspired algorithms for distributed systems, pp 1–8. doi:10.1145/1809018.1809021

  19. Zhu W, Yaseen A, Li Y (2011) DEMCMC-GPU: an efficient multi-objective optimization method with GPU acceleration on the Fermi architecture. New Gener Comput 29(2):163–184

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to P. M. Ortigosa.

Additional information

This work has been funded by grants from the Spanish Ministry of Science and Innovation (TIN2008-01117 and TIN2012-37483-C03-03), Junta de Andalucia (P10-TIC-6002) in part financed by the European Regional Development Fund (ERDF). Moreover, it has been developed in the framework of the network High Performance Computing on Heterogeneous Parallel Architectures (CAPAP-H4), supported by the Spanish Ministry of Science and Innovation (TIN2011-15734-E).

Rights and permissions

Reprints and permissions

About this article

Cite this article

García-Martínez, J.M., Garzón, E.M. & Ortigosa, P.M. A GPU implementation of a hybrid evolutionary algorithm: GPuEGO. J Supercomput 70, 684–695 (2014). https://doi.org/10.1007/s11227-014-1136-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-014-1136-7

Keywords

Navigation