Skip to main content
Erschienen in: Soft Computing 10/2012

01.10.2012 | Original Paper

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

verfasst von: Darren M. Chitty

Erschienen in: Soft Computing | Ausgabe 10/2012

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Literatur
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat Dongarra J, Hinds AR (1979) Unrolling loops in FORTRAN. Softw Pract Exp 9(3):219–226MATHCrossRef Dongarra J, Hinds AR (1979) Unrolling loops in FORTRAN. Softw Pract Exp 9(3):219–226MATHCrossRef
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat Frank A, Asuncion A (2010) UCI machine learning repository Frank A, Asuncion A (2010) UCI machine learning repository
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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)
Zurück zum Zitat 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
Zurück zum Zitat 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)
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat Martin P (2001) A hardware implementation of a genetic programming system using FPGAs and Handel-C. Genetic Program Evolvable Mach 2:317–343. doi:10.1023/A:1012942304464 Martin P (2001) A hardware implementation of a genetic programming system using FPGAs and Handel-C. Genetic Program Evolvable Mach 2:317–343. doi:10.​1023/​A:​1012942304464
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Zurück zum Zitat 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
Metadaten
Titel
Fast parallel genetic programming: multi-core CPU versus many-core GPU
verfasst von
Darren M. Chitty
Publikationsdatum
01.10.2012
Verlag
Springer-Verlag
Erschienen in
Soft Computing / Ausgabe 10/2012
Print ISSN: 1432-7643
Elektronische ISSN: 1433-7479
DOI
https://doi.org/10.1007/s00500-012-0862-0

Weitere Artikel der Ausgabe 10/2012

Soft Computing 10/2012 Zur Ausgabe