Skip to main content

Advertisement

Log in

Speeding up the evaluation phase of GP classification algorithms on GPUs

  • Focus
  • Published:
Soft Computing Aims and scope Submit manuscript

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.

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
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

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

    Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Wong ML, Leung KS (2000) Data mining using grammar-based genetic programming and applications. Kluwer Academic Publishers, Norwell, MA

Download references

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

Authors

Corresponding author

Correspondence to Sebastián Ventura.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-011-0713-4

Keywords

Navigation