Abstract
The efficiency of evolutionary algorithms has become a studied problem since it is one of the major weaknesses in these algorithms. Specifically, when these algorithms are employed for the classification task, the computational time required by them grows excessively as the problem complexity increases. This paper proposes an efficient scalable and massively parallel evaluation model using the NVIDIA CUDA GPU programming model to speed up the fitness calculation phase and greatly reduce the computational time. Experimental results show that our model significantly reduces the computational time compared to the sequential approach, reaching a speedup of up to 820×. Moreover, the model is able to scale to multiple GPU devices and can be easily extended to any evolutionary algorithm.
Similar content being viewed by others
References
Alcalá-Fdez J, Sánchez LS, García S, del Jesus M, Ventura S, Garrell J, Otero J, Romero C, Bacardit J, Rivas V, Fernández J, Herrera F (2009) KEEL: KEEL: a software tool to assess evolutionary algorithms for data mining problems. Soft Comput Fusion Found Methodol Appl 13:307–318
Bäck TB, Fogel D, Michalewicz Z (1997) Handbook of evolutionary computation. Oxford University Press
Banzhaf W, Nordin P, Keller RE, Francone FD (1998) Genetic programming—an introduction: on the automatic evolution of computer programs and its applications. Morgan Kaufmann, San Francisco, CA
Bojarczuk CC, Lopes HS, Freitas AA, Michalkiewicz EL (2004) A constrained-syntax genetic programming system for discovering classification rules: application to medical data sets. Artif Intell Med 30(1):27–48
Chitty DM, Malvern Q (2007) A data parallel approach to genetic programming using programmable graphics hardware. In: GECCO G07: Proceedings of the 9th annual conference on genetic and evolutionary computation. ACM Press, pp 1566–1573
De Falco I, Della Cioppa A, Tarantino E (2001) Discovering interesting classification rules with genetic programming. Appl Soft Comput 1(4):257–269
De Falco I, Della Cioppa A, Fontanella F, Tarantino E (2004) An innovative approach to genetic programming-based clustering. In: 9th online world conference on soft computing in industrial applications
Deb K (2005) A population-based algorithm-generator for real-parameter optimization. Soft Comput 9:236–253
Dorigo M, Maniezzo V (1993) Parallel genetic algorithms: introduction and overview of current research. In: Parallel genetic algorithms: theory and applications. IOS Press, Amsterdam, The Netherlands, pp 5–42
Espejo PG, Ventura S, Herrera F (2010) A survey on the application of genetic programming to classification. IEEE Trans Syst Man Cybern Part C (Appl Rev) 40(2):121–144
Franco MA, Krasnogor N, Bacardit J (2010) Speeding up the evaluation of evolutionary learning systems using GPGPUs. In: Proceedings of the 12th annual conference on genetic and evolutionary computation, GECCO ’10. ACM, New York, NY, pp 1039–1046
Freitas AA (2002) Data mining and knowledge discovery with evolutionary algorithms. Springer, New York
General-purpose computation on graphics hardware. http://www.gpgpu.org. Accessed November 2010
Harding S (2010) Genetic programming on graphics processing units bibliography. http://www.gpgpgpu.com. Accessed November 2010
Harding S, Banzhaf W (2007) Fast genetic programming and artificial developmental systems on gpus. In: High performance computing systems and applications, 2007. HPCS, pp 2-2
Harding S, Banzhaf W (2009) Distributed genetic programming on GPUs using CUDA. In: Workshop on parallel architectures and bioinspired algorithms. Raleigh, USA
Hwu WW (2009) Illinois ECE 498AL: programming massively parallel processors, lecture 13: reductions and their implementation. http://nanohub.org/resources/7376
Koza JR (1992) Genetic programming: on the programming of computers by means of natural selection (complex adaptive systems). The MIT Press, Cambridge
Langdon WB, Harrison AP (2008) GP on SPMD parallel graphics hardware for mega bioinformatics data mining. Soft Comput 12(12):1169–1183
Landry J, Kosta LD, Bernier T (2006) Discriminant feature selection by genetic programming: towards a domain independent multi-class object detection system. J Syst Cybern Inform 3(1)
Maitre O, Baumes LA, Lachiche N, Corma A, Collet P (2009) Coarse grain parallelization of evolutionary algorithms on gpgpu cards with easea. In: Proceedings of the 11th annual conference on genetic and evolutionary computation, GECCO ’09. ACM, New York, NY, USA, pp 1403–1410
Newman DJ, Asuncion A (2007) UCI machine learning repository. University of California, Irvine
NVIDIA (2010) NVIDIA programming and best practices guide. http://www.nvidia.com/cuda. Accessed November 2010
Robilliard D, Marion-Poty V, Fonlupt C (2009) Genetic programming on graphics processing units. Genetic Program Evolvable Mach 10:447–471
Ryoo S, Rodrigues CI, Baghsorkhi SS, Stone SS, Kirk DB, Hwu WW (2008) Optimization principles and application performance evaluation of a multithreaded GPU using CUDA. In: Proceedings of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming, PPoPP ’08. ACM, New York, NY, pp 73–82
Schmitz T, Hohmann S, Meier K, Schemmel J, Schürmann F (2003) Speeding up hardware evolution: a coprocessor for evolutionary algorithms. In: Proceedings of the 5th international conference on evolvable systems: from biology to hardware, ICES’03. Springer, pp 274–285
Tan KC, Tay A, Lee TH, Heng CM (2002) Mining multiple comprehensible classification rules using genetic programming. In: Proceedings of the evolutionary computation on 2002. CEC ’02. Proceedings of the 2002 Congress, volume 2 of CEC ’02. IEEE Computer Society, Washington, DC, pp 1302–1307
Ventura S, Romero C, Zafra A, Delgado JA, Hervás C (2007) JCLEC: a Java framework for evolutionary computation. Soft Comput 12:381–392
Wong ML, Leung KS (2000) Data mining using grammar-based genetic programming and applications. Kluwer Academic Publishers, Norwell, MA
Acknowledgments
This work has been financed in part by the TIN2008-06681-C06-03 project of the Spanish Inter-Ministerial Commission of Science and Technology (CICYT), the P08-TIC-3720 project of the Andalusian Science and Technology Department, and FEDER funds.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cano, A., Zafra, A. & Ventura, S. Speeding up the evaluation phase of GP classification algorithms on GPUs. Soft Comput 16, 187–202 (2012). https://doi.org/10.1007/s00500-011-0713-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-011-0713-4