Skip to main content
Top
Published in: Soft Computing 10/2012

01-10-2012 | Original Paper

Fast parallel genetic programming: multi-core CPU versus many-core GPU

Author: Darren M. Chitty

Published in: Soft Computing | Issue 10/2012

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Genetic Programming (GP) is a computationally intensive technique which is also highly parallel in nature. In recent years, significant performance improvements have been achieved over a standard GP CPU-based approach by harnessing the parallel computational power of many-core graphics cards which have hundreds of processing cores. This enables both fitness cases and candidate solutions to be evaluated in parallel. However, this paper will demonstrate that by fully exploiting a multi-core CPU, similar performance gains can also be achieved. This paper will present a new GP model which demonstrates greater efficiency whilst also exploiting the cache memory. Furthermore, the model presented in this paper will utilise Streaming SIMD Extensions to gain further performance improvements. A parallel version of the GP model is also presented which optimises multiple thread execution and cache memory. The results presented will demonstrate that a multi-core CPU implementation of GP can yield performance levels that match and exceed those of the latest graphics card implementations of GP. Indeed, a performance gain of up to 420-fold over standard GP is demonstrated and a threefold gain over a graphics card implementation.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
go back to reference Andre D, Koza JR (1996) Parallel genetic programming: a scalable implementation using the transputer network architecture. MIT Press, Cambridge, pp 317–337 Andre D, Koza JR (1996) Parallel genetic programming: a scalable implementation using the transputer network architecture. MIT Press, Cambridge, pp 317–337
go back to reference Banzhaf W, Harding S, Langdon WB, Wilson G (2009) Accelerating genetic programming through graphics processing units. In: Genetic programming theory and practice VI. Genetic and Evolutionary Computation. Springer, Ann Arbor, pp 1–19 Banzhaf W, Harding S, Langdon WB, Wilson G (2009) Accelerating genetic programming through graphics processing units. In: Genetic programming theory and practice VI. Genetic and Evolutionary Computation. Springer, Ann Arbor, pp 1–19
go back to reference Cano A, Zafra A, Ventura S (2012) Speeding up the evaluation phase of GP classification algorithms on GPUs. Soft Comput 16(2):187–202CrossRef Cano A, Zafra A, Ventura S (2012) Speeding up the evaluation phase of GP classification algorithms on GPUs. Soft Comput 16(2):187–202CrossRef
go back to reference Chitty DM (2007) A data parallel approach to genetic programming using programmable graphics hardware. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, GECCO ’07, pp 1566–1573 Chitty DM (2007) A data parallel approach to genetic programming using programmable graphics hardware. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, GECCO ’07, pp 1566–1573
go back to reference Chong FS, Langdon WB (1999) Java based distributed genetic programming on the internet. In: Banzhaf W, Daida J, Eiben AE, Garzon MH, Honavar V, Jakiela M, Smith RE (eds) Proceedings of the genetic and evolutionary computation Conference, vol 2, Morgan Kaufmann, Orlando, FL, USA, p 1229 Chong FS, Langdon WB (1999) Java based distributed genetic programming on the internet. In: Banzhaf W, Daida J, Eiben AE, Garzon MH, Honavar V, Jakiela M, Smith RE (eds) Proceedings of the genetic and evolutionary computation Conference, vol 2, Morgan Kaufmann, Orlando, FL, USA, p 1229
go back to reference Eklund SE (2003) Time series forecasting using massively parallel genetic programming. In: Proceedings of the 17th international symposium on parallel and distributed processing’, IPDPS ’03, IEEE Computer Society, Washington Eklund SE (2003) Time series forecasting using massively parallel genetic programming. In: Proceedings of the 17th international symposium on parallel and distributed processing’, IPDPS ’03, IEEE Computer Society, Washington
go back to reference Fernández F, Tomassini M, Vanneschi L (2003) An empirical study of multipopulation genetic programming. Genet Program Evolvable Mach 4(1):21–51MATHCrossRef Fernández F, Tomassini M, Vanneschi L (2003) An empirical study of multipopulation genetic programming. Genet Program Evolvable Mach 4(1):21–51MATHCrossRef
go back to reference Folino G, Pizzuti C, Spezzano G (2003) A scalable cellular implementation of parallel genetic programming Folino G, Pizzuti C, Spezzano G (2003) A scalable cellular implementation of parallel genetic programming
go back to reference Frank A, Asuncion A (2010) UCI machine learning repository Frank A, Asuncion A (2010) UCI machine learning repository
go back to reference Golub G, Loan C (1989) Matrix computations, Johns Hopkins series in the mathematical sciences. Johns Hopkins University Press, Baltimore Golub G, Loan C (1989) Matrix computations, Johns Hopkins series in the mathematical sciences. Johns Hopkins University Press, Baltimore
go back to reference Gustafson S, Burke EK (2006) The speciating island model: an alternative parallel evolutionary algorithm. J Parallel Distrib Comput 66(8):1025–1036 Gustafson S, Burke EK (2006) The speciating island model: an alternative parallel evolutionary algorithm. J Parallel Distrib Comput 66(8):1025–1036
go back to reference Harding S, Banzhaf W (2007) Fast genetic programming on GPUs. In: Proceedings of the 10th European conference on genetic programming, vol 4445 of LNCS, Springer, pp 90–101 Harding S, Banzhaf W (2007) Fast genetic programming on GPUs. In: Proceedings of the 10th European conference on genetic programming, vol 4445 of LNCS, Springer, pp 90–101
go back to reference Harding S, Banzhaf W (2009) Distributed genetic programming on GPUs using CUDA. In: Risco-Martn JL, Garnica O (eds) WPABA’09: Proceedings of the second international workshop on parallel architectures and bioinspired algorithms (WPABA 2009), Universidad Complutense de Madrid, Raleigh, NC, USA, pp 1–10 Harding S, Banzhaf W (2009) Distributed genetic programming on GPUs using CUDA. In: Risco-Martn JL, Garnica O (eds) WPABA’09: Proceedings of the second international workshop on parallel architectures and bioinspired algorithms (WPABA 2009), Universidad Complutense de Madrid, Raleigh, NC, USA, pp 1–10
go back to reference Intel architecture software developer’s manual volume 2: instruction set reference intel architecture software developer’s manual volume 2: instruction set reference (1997) Intel architecture software developer’s manual volume 2: instruction set reference intel architecture software developer’s manual volume 2: instruction set reference (1997)
go back to reference Juille H, Pollack JB (1996) Massively parallel genetic programming. In: Angeline PJ, Kinnear KE Jr (eds) Advances in genetic programming 2. MIT Press, Cambridge, chapter 17, pp 339–358 Juille H, Pollack JB (1996) Massively parallel genetic programming. In: Angeline PJ, Kinnear KE Jr (eds) Advances in genetic programming 2. MIT Press, Cambridge, chapter 17, pp 339–358
go back to reference KDD Cup 1999 Data: third international knowledge discovery and data mining tools competition. KDD Cup 1999 data. Third international knowledge discovery and data mining tools competition (1999) KDD Cup 1999 Data: third international knowledge discovery and data mining tools competition. KDD Cup 1999 data. Third international knowledge discovery and data mining tools competition (1999)
go back to reference King RD, Feng C, Sutherland A (1995) Statlog: comparison of classification algorithms on large real-world problems King RD, Feng C, Sutherland A (1995) Statlog: comparison of classification algorithms on large real-world problems
go back to reference Klein J, Spector L (2007) Unwitting distributed genetic programming via asynchronous javascript and XML. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, GECCO ’07, ACM, New York, NY, USA, pp 1628–1635 Klein J, Spector L (2007) Unwitting distributed genetic programming via asynchronous javascript and XML. In: Proceedings of the 9th annual conference on Genetic and evolutionary computation, GECCO ’07, ACM, New York, NY, USA, pp 1628–1635
go back to reference Lam MD, Rothberg EE, Wolf ME (1991) The cache performance and optimizations of blocked algorithms. In: Proceedings of the fourth international conference on architectural support for programming languages and operating systems. ASPLOS-IV, ACM, New York, NY, USA, pp 63–74 Lam MD, Rothberg EE, Wolf ME (1991) The cache performance and optimizations of blocked algorithms. In: Proceedings of the fourth international conference on architectural support for programming languages and operating systems. ASPLOS-IV, ACM, New York, NY, USA, pp 63–74
go back to reference Langdon W, Harrison A (2008) GP on SPMD parallel graphics hardware for mega bioinformatics data mining. Soft Comput 12:1169–1183CrossRef Langdon W, Harrison A (2008) GP on SPMD parallel graphics hardware for mega bioinformatics data mining. Soft Comput 12:1169–1183CrossRef
go back to reference Langdon WB (2010) A many threaded CUDA interpreter for genetic programming. In: EuroGP’, pp 146–158 Langdon WB (2010) A many threaded CUDA interpreter for genetic programming. In: EuroGP’, pp 146–158
go back to reference Langdon WB, Banzhaf W (2008) A SIMD interpreter for genetic programming on GPU graphics cards. Genetic Program 4971(CSM-470):73–85CrossRef Langdon WB, Banzhaf W (2008) A SIMD interpreter for genetic programming on GPU graphics cards. Genetic Program 4971(CSM-470):73–85CrossRef
go back to reference Lee VW, Kim C, Chhugani J, Deisher M, Kim D, Nguyen AD, Satish N, Smelyanskiy M, Chennupaty S, Hammarlund P, Singhal R, Dubey P (2010) Debunking the 100× GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU. In: Proceedings of the 37th annual international symposium on Computer architecture, ISCA ’10, ACM, New York, NY, pp 451–460 Lee VW, Kim C, Chhugani J, Deisher M, Kim D, Nguyen AD, Satish N, Smelyanskiy M, Chennupaty S, Hammarlund P, Singhal R, Dubey P (2010) Debunking the 100× GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU. In: Proceedings of the 37th annual international symposium on Computer architecture, ISCA ’10, ACM, New York, NY, pp 451–460
go back to reference Lewis TE, Magoulas GD (2009) Strategies to minimise the total run time of cyclic graph based genetic programming with GPUs. In: Proceedings of the 11th annual conference on genetic and evolutionary computation, GECCO ’09, ACM, New York, NY, pp 1379–1386 Lewis TE, Magoulas GD (2009) Strategies to minimise the total run time of cyclic graph based genetic programming with GPUs. In: Proceedings of the 11th annual conference on genetic and evolutionary computation, GECCO ’09, ACM, New York, NY, pp 1379–1386
go back to reference Maitre O, Lachiche N, Collet P (2010) Fast evaluation of GP trees on GPGPU by optimizing hardware scheduling. In: EuroGP. pp 301–312 Maitre O, Lachiche N, Collet P (2010) Fast evaluation of GP trees on GPGPU by optimizing hardware scheduling. In: EuroGP. pp 301–312
go back to reference Niwa T, Iba H (1996) Distributed genetic programming: empirical study and analysis. In: Proceedings of the first annual conference on genetic programming, GECCO ’96, MIT Press, Cambridge, MA, pp 339–344 Niwa T, Iba H (1996) Distributed genetic programming: empirical study and analysis. In: Proceedings of the first annual conference on genetic programming, GECCO ’96, MIT Press, Cambridge, MA, pp 339–344
go back to reference Punch WF (1998) How effective are multiple populations in genetic programming. In: Koza JR, Banzhaf W, Chellapilla K, Deb K, Dorigo M, Fogel DB, Garzon MH, Goldberg DE, Iba H, Riolo R (eds) Genetic programming 1998: proceedings of the third annual conference, Morgan Kaufmann, University of Wisconsin, Madison, Wisconsin, USA, pp 308–313 Punch WF (1998) How effective are multiple populations in genetic programming. In: Koza JR, Banzhaf W, Chellapilla K, Deb K, Dorigo M, Fogel DB, Garzon MH, Goldberg DE, Iba H, Riolo R (eds) Genetic programming 1998: proceedings of the third annual conference, Morgan Kaufmann, University of Wisconsin, Madison, Wisconsin, USA, pp 308–313
go back to reference Robilliard D, Marion-Poty V, Fonlupt C (2008) Population parallel GP on the G80 GPU. In: Proceedings of the 11th European conference on genetic programming, EuroGP’08, Springer, Berlin, pp 98–109 Robilliard D, Marion-Poty V, Fonlupt C (2008) Population parallel GP on the G80 GPU. In: Proceedings of the 11th European conference on genetic programming, EuroGP’08, Springer, Berlin, pp 98–109
go back to reference Robilliard D, Marion-Poty V, Fonlupt C (2009) Genetic programming on graphics processing units. Genet Program Evol Mach 10:447–471CrossRef Robilliard D, Marion-Poty V, Fonlupt C (2009) Genetic programming on graphics processing units. Genet Program Evol Mach 10:447–471CrossRef
go back to reference Tufts P (1995) Parallel case evaluation for genetic programming. In: Nadel L, Stein DL (eds) 1993 lectures in complex systems, vol VI of Santa Fe Institute Studies in the Science of Complexity, Addison-Wesley, pp 591–596 Tufts P (1995) Parallel case evaluation for genetic programming. In: Nadel L, Stein DL (eds) 1993 lectures in complex systems, vol VI of Santa Fe Institute Studies in the Science of Complexity, Addison-Wesley, pp 591–596
go back to reference Wolf ME, Lam MS (1991), A data locality optimizing algorithm. In: Proceedings of the ACM SIGPLAN 1991 conference on programming language design and implementation, PLDI ’91, ACM, New York, pp 30–44 Wolf ME, Lam MS (1991), A data locality optimizing algorithm. In: Proceedings of the ACM SIGPLAN 1991 conference on programming language design and implementation, PLDI ’91, ACM, New York, pp 30–44
go back to reference Wolfe M (1989) More iteration space tiling. In: Proceedings of the 1989 ACM/IEEE conference on supercomputing. Supercomputing ’89, ACM, New York, pp 655–664 Wolfe M (1989) More iteration space tiling. In: Proceedings of the 1989 ACM/IEEE conference on supercomputing. Supercomputing ’89, ACM, New York, pp 655–664
Metadata
Title
Fast parallel genetic programming: multi-core CPU versus many-core GPU
Author
Darren M. Chitty
Publication date
01-10-2012
Publisher
Springer-Verlag
Published in
Soft Computing / Issue 10/2012
Print ISSN: 1432-7643
Electronic ISSN: 1433-7479
DOI
https://doi.org/10.1007/s00500-012-0862-0

Other articles of this Issue 10/2012

Soft Computing 10/2012 Go to the issue

Premium Partner