Advertisement

Soft Computing

, Volume 16, Issue 2, pp 261–279 | Cite as

EASEA: specification and execution of evolutionary algorithms on GPGPU

  • Ogier MaitreEmail author
  • Frédéric Krüger
  • Stéphane Querry
  • Nicolas Lachiche
  • Pierre Collet
Focus

Abstract

EASEA is a framework designed to help non-expert programmers to optimize their problems by evolutionary computation. It allows to generate code targeted for standard CPU architectures, GPGPU-equipped machines as well as distributed memory clusters. In this paper, EASEA is presented by its underlying algorithms and by some example problems. Achievable speedups are also shown onto different NVIDIA GPGPUs cards for different optimization algorithm families.

Keywords

Evolutionary computation Evolution strategy Genetic algorithm Genetic programming Memetic algorithm CUDA GPGPUs 

References

  1. Ackley D, Littman M (1992) Interactions between learning and evolution. In: Langton CG, Taylor JDFC, Rasmussen S (eds) Artificial life II, vol 10. Addison-Wesley, pp 487–509Google Scholar
  2. Alba E, Tomassini M (2002) Parallelism and evolutionary algorithms. IEEE Trans Evol Comput 6(5):443–462CrossRefGoogle Scholar
  3. Brameier M, Banzhaf W (2007) Linear genetic programming. No. XVI in genetic and evolutionary computation. Springer, BerlinGoogle Scholar
  4. Chitty DM (2007) A data parallel approach to genetic programming using programmable graphics hardware. In: Proceedings of the 9th annual genetic and evolutionary computation conference (GECCO). ACM, New York, pp 1566–1573Google Scholar
  5. Collet P, Schoenauer M (2003) Guide: unifying evolutionary engines through a graphical user interface. In: Liardet P, Collet P, Fonlupt C, Lutton E, Schoenauer M (eds) Artificial evolution. Lecture notes in computer science, vol 2936. Springer, Berlin, pp 203–215Google Scholar
  6. Collet P, Lutton E, Schoenauer M, Louchet J (2000) Take it EASEA. In: Proceedings of the 6th international conference on parallel problem solving from nature. Springer, London, pp 891–901Google Scholar
  7. De Jong K (2008) Evolutionary computation: a unified approach. In: Proceedings of the 10th annual genetic and evolutionary computation conference (GECCO). ACM, New York, pp 2245–2258Google Scholar
  8. Deb K, Agrawal S, Pratap A, Meyarivan T (2002) A fast and elitist multi-objective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6(2):182–197CrossRefGoogle Scholar
  9. Fok KL, Wong TT, Wong ML (2007) Evolutionary computing on consumer graphics hardware. IEEE Intell Syst 22(2):69–78CrossRefGoogle Scholar
  10. Gagné C, Schoenauer M, Parizeau M, Tomassini M (2006) Genetic programming, validation sets, and parsimony pressure. In: Collet P, Tomassini M, Ebner M, Gustafson S, Ekárt A (eds) Proceedings of the 9th European conference on genetic programming. Lecture notes in computer science, vol 3905. Springer, Budapest, pp 109–120Google Scholar
  11. Harding S, Banzhaf W (2007) Fast genetic programming on GPUs. In: Ebner M, O’Neill M, Ekárt A, Vanneschi L, Esparcia-Alcázar A (eds) 10th European conference on genetic programming (EuroGP). Lecture notes in computer science, vol 4445. Springer, Berlin, pp 90–101Google Scholar
  12. Holladay K, Robbins K, Ronne JV (2007) FifthTM A stack based GP language for vector processing. In: Ebner M, O’Neill M, Ekárt A, Vanneschi L, Esparcia-Alcázar A (eds) 10th European conference on genetic programming (EuroGP). Lecture notes in computer science, vol 4445. Springer, Berlin, pp 102–113Google Scholar
  13. Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection (complex adaptive systems). MIT Press, CambridgeGoogle Scholar
  14. Krüger F, Maitre O, Jiménez S, Baumes L, Collet P (2010) Speedups between ×70 and ×120 for a generic local search (memetic) algorithm on a single GPGPU chip. Appl Evol Comput 501–511Google Scholar
  15. Langdon WB (2008) A fast high quality pseudo random number generator for graphics processing units. In: Wang J (ed) IEEE World Congress on computational intelligence, Hong Kong, pp 459–465Google Scholar
  16. Langdon WB, Banzhaf W (2008) A SIMD Interpreter for genetic programming on GPU graphics cards. In: O’Neill M, Vanneschi L, Gustafson S, Esparcia Alcazar AI, De Falco I, Della Cioppa A, Tarantino E (eds) 11th European conference on genetic programming (EuroGP), Lecture notes in computer science, vol 4971. Springer, Berlin, pp 73–85Google Scholar
  17. Li JM, Wang XJ, He RS, Chi ZX (2007) An efficient fine-grained parallel genetic algorithm based on GPU-accelerated. In: IFIP International conference on network and parallel computing workshops (NPC). IEEE Computer Society, Los Alamitos, pp 855–862Google Scholar
  18. Maitre O, Baumes LA, Lachiche N, Corma A, Collet P (2009a) Coarse grain parallelization of evolutionary algorithms on GPGPU cards with EASEA. In: Rothlauf F (ed) Proceedings of the 11th annual conference on genetic and evolutionary computation (GECCO). ACM, New York, pp 1403–1410Google Scholar
  19. Maitre O, Lachiche N, Clauss P, Baumes L, Corma A, Collet P (2009b) Efficient parallel implementation of evolutionary algorithms on GPGPU cards. In: Sips H, Epema D, Lin HX (eds) Euro-Par 2009 parallel processing. Lecture notes in computer science, Springer, Berlin, pp 974–985Google Scholar
  20. Maitre O, Lachiche N, Collet P (2010a) Fast evaluation of GP trees on GPGPU by optimizing hardware scheduling. In: Esparcia-Alcázar A, Ekárt A, Silva S, Dignum S, Uyar A (eds) Genetic programming. Lecture notes in computer science, vol 6021. Springer, Heidelberg, pp 301–312Google Scholar
  21. Maitre O, Querry S, Lachiche N, Collet P (2010b) EASEA parallelization of tree-based genetic programming. In: IEEE congress on evolutionary computation (CEC), pp 1–8Google Scholar
  22. Matsumoto M, Nishimura T (1998) Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans Model Comput Simulat 8(1):3–30zbMATHCrossRefGoogle Scholar
  23. Munawar A, Wahib M, Munetomo M, Akama K (2009) Hybrid of genetic algorithm and local search to solve MAX-SAT problem using nVidia CUDA framework. Genet Program Evol Mach 10(4):391–415CrossRefGoogle Scholar
  24. NVIDIA (2008) Nvidia cuda programming guide 2.0Google Scholar
  25. Ong YS, Keane AJ (2004) Meta-Lamarckian learning in memetic algorithms.IEEE Trans Evol Comput 8(2):99–110CrossRefGoogle Scholar
  26. Robilliard D, Marion-Poty V, Fonlupt C (2008) Population parallel GP on the G80 GPU. In: O’Neill M, Vanneschi L, Gustafson S, Esparcia Alcázar A, De Falco I, Della Cioppa A, Tarantino E (eds) 11th European conference on genetic programming (EuroGP), vol 4971. Springer, Berlin, pp 98–109Google Scholar
  27. Robilliard D, Marion V, Fonlupt C (2009) High performance genetic programming on GPU. In: Workshop on bio-inspired algorithms for distributed systems. ACM, New York, pp 85–94Google Scholar
  28. Shang YW, Qiu YH (2006) A note on the extended Rosenbrock function. Evol Comput 14(1):119–126CrossRefGoogle Scholar
  29. Sharma D, Collet P (2010a) An archived-based stochastic ranking evolutionary algorithm (ASREA) for multi-objective optimization. In: GECCO ’10: Proceedings of the 12th annual conference on genetic and evolutionary computation. ACM, New York, pp 479–486Google Scholar
  30. Sharma D, Collet P (2010b) Gpgpu-compatible archive based stochastic ranking evolutionary algorithm (g-asrea) for multi-objective optimization. In: Schaefer R, Cotta C, Kolodziej J, Rudolph G (eds) PPSN (2). Lecture notes in computer science, vol 6239. Springer, Berlin, pp 111–120Google Scholar
  31. Spector L, Robinson A (2002) Genetic programming and autoconstructive evolution with the push programming language. Genet Program Evol Mach 3(1):7–40zbMATHCrossRefGoogle Scholar
  32. Wong ML (2009) Parallel multi-objective evolutionary algorithms on graphics processing units. In: GECCO ’09: proceedings of the 11th annual conference companion on genetic and evolutionary computation conference. ACM, New York, pp 2515–2522Google Scholar
  33. Wong ML, Wong TT (2006) Parallel hybrid genetic algorithms on consumer-level graphics hardware. In: IEEE congress on evolutionary computation (CEC). pp 2973–2980Google Scholar
  34. Yu Q, Chen C, Pan Z (2005) Parallel genetic algorithms on programmable graphics hardware. In: First international conference on natural computation (ICNC). LNCS, vol 3612. Springer, Heidelberg, pp 1051–1059Google Scholar
  35. Zitzler E, Laumanns M, Thiele L (2002) SPEA2: improving the strength pareto evolutionary algorithm for multiobjective optimization. In: Giannakoglou K et al (eds) Evolutionary methods for design, optimisation and control with application to industrial problems (EUROGEN 2001). International Center for Numerical Methods in Engineering (CIMNE), pp 95–100Google Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Ogier Maitre
    • 1
    Email author
  • Frédéric Krüger
    • 1
  • Stéphane Querry
    • 1
  • Nicolas Lachiche
    • 1
  • Pierre Collet
    • 1
  1. 1.Pôle API, Bd Sébastien Brant BP 10413Illkirch Cedex France

Personalised recommendations