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.
Similar content being viewed by others
References
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–509
Alba E, Tomassini M (2002) Parallelism and evolutionary algorithms. IEEE Trans Evol Comput 6(5):443–462
Brameier M, Banzhaf W (2007) Linear genetic programming. No. XVI in genetic and evolutionary computation. Springer, Berlin
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–1573
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–215
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–901
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–2258
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–197
Fok KL, Wong TT, Wong ML (2007) Evolutionary computing on consumer graphics hardware. IEEE Intell Syst 22(2):69–78
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–120
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–101
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–113
Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection (complex adaptive systems). MIT Press, Cambridge
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–511
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–465
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–85
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–862
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–1410
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–985
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–312
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–8
Matsumoto M, Nishimura T (1998) Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans Model Comput Simulat 8(1):3–30
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–415
NVIDIA (2008) Nvidia cuda programming guide 2.0
Ong YS, Keane AJ (2004) Meta-Lamarckian learning in memetic algorithms.IEEE Trans Evol Comput 8(2):99–110
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–109
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–94
Shang YW, Qiu YH (2006) A note on the extended Rosenbrock function. Evol Comput 14(1):119–126
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–486
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–120
Spector L, Robinson A (2002) Genetic programming and autoconstructive evolution with the push programming language. Genet Program Evol Mach 3(1):7–40
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–2522
Wong ML, Wong TT (2006) Parallel hybrid genetic algorithms on consumer-level graphics hardware. In: IEEE congress on evolutionary computation (CEC). pp 2973–2980
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–1059
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–100
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Maitre, O., Krüger, F., Querry, S. et al. EASEA: specification and execution of evolutionary algorithms on GPGPU. Soft Comput 16, 261–279 (2012). https://doi.org/10.1007/s00500-011-0718-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-011-0718-z