skip to main content
10.1145/2576768.2598272acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

GPU-parallel subtree interpreter for genetic programming

Published: 12 July 2014 Publication History

Abstract

Genetic Programming (GP) is a computationally intensive technique but its nature is embarrassingly parallel. Graphic Processing Units (GPUs) are many-core architectures which have been widely employed to speed up the evaluation of GP. In recent years, many works have shown the high performance and efficiency of GPUs on evaluating both the individuals and the fitness cases in parallel. These approaches are known as population parallel and data parallel. This paper presents a parallel GP interpreter which extends these approaches and adds a new parallelization level based on the concurrent evaluation of the individual's subtrees. A GP individual defined by a tree structure with nodes and branches comprises different depth levels in which there are independent subtrees which can be evaluated concurrently. Threads can cooperate to evaluate different subtrees and share the results via GPU's shared memory. The experimental results show the better performance of the proposal in terms of the GP operations per second (GPops/s) that the GP interpreter is capable of processing, achieving up to 21 billion GPops/s using a NVIDIA 480 GPU. However, some issues raised due to limitations of currently available hardware are to be overcomed by the dynamic parallelization capabilities of the next generation of GPUs.

References

[1]
D. Andre and J. R. Koza. A parallel implementation of genetic programming that achieves super-linear performance. Information Sciences, 106(3--4):201--218, 1998.
[2]
D. A. Augusto and H. J. Barbosa. Accelerated parallel genetic programming tree evaluation with OpenCL. Journal of Parallel and Distributed Computing, 73(1):86--100, 2013.
[3]
W. Banzhaf and S. Harding. Accelerating evolutionary computation with graphics processing units. In Proceedings of the 14th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '09, pages 3237--3286, 2009.
[4]
W. Banzhaf, S. Harding, W. B. Langdon, and G. Wilson. Accelerating genetic programming through graphics processing units. In Genetic Programming Theory and Practice VI, Genetic and Evolutionary Computation, pages 1--19. Springer US, 2009.
[5]
A. Cano, A. Zafra, and S. Ventura. Speeding up the evaluation phase of GP classification algorithms on GPUs. Soft Computing, 16(2):187--202, 2012.
[6]
A. Cano, A. Zafra, and S. Ventura. Parallel evaluation of pittsburgh rule-based classifiers on GPUs. Neurocomputing, 126:45--57, 2014.
[7]
D. M. Chitty. A data parallel approach to genetic programming using programmable graphics hardware. In Proceedings of the 12th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '07, pages 1566--1573, 2007.
[8]
D. M. Chitty. Fast parallel genetic programming: multi-core cpu versus many-core GPU. Soft Computing, 16(10):1795--1814, 2012.
[9]
P. G. Espejo, S. Ventura, and F. Herrera. A Survey on the Application of Genetic Programming to Classification. IEEE Transactions on Systems, Man, and Cybernetics, Part C Applications and Reviews, 40:121--144, 2010.
[10]
M. A. Franco, N. Krasnogor, and J. Bacardit. Speeding up the evaluation of evolutionary learning systems using GPGPUs. In Proceedings of the 15th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '10, pages 103--110, 2010.
[11]
S. Harding and W. Banzhaf. Fast genetic programming on GPUs. In Proceedings of the 10th European Conference on Genetic Programming, pages 90--101, 2007.
[12]
S. L. Harding and W. Banzhaf. Distributed genetic programming on GPUs using CUDA. In Workshop on Parallel Architectures and Bioinspired Algorithms, pages 1--10, 2009.
[13]
J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, 1992.
[14]
W. B. Langdon. Large scale bioinformatics data mining with parallel genetic programming on graphics processing units. In Parallel and Distributed Computational Intelligence, pages 113--141. 2010.
[15]
W. B. Langdon. A many threaded CUDA interpreter for genetic programming. In Proceedings of the 13th European Conference on Genetic Programming, volume 6021 of Lecture Notes in Computer Science, pages 146--158, 2010.
[16]
W. B. Langdon. Graphics processing units and genetic programming: an overview. Soft Computing, 15(8):1657--1669, 2011.
[17]
W. B. Langdon and W. Banzhaf. A SIMD interpreter for genetic programming on GPU graphics cards. In Proceedings of the 11th European Conference on Genetic Programming, volume 4971 of Lecture Notes in Computer Science, pages 73--85, 2008.
[18]
W. B. Langdon and S. M. Gustafson. Genetic programming and evolvable machines: Ten years of reviews. Genetic Programming and Evolvable Machines, 11(3--4):321--338, 2010.
[19]
O. Maitre, N. Lachiche, and P. Collet. Fast evaluation of GP trees on GPGPU by optimizing hardware scheduling. In Proceedings of the 13th European Conference on Genetic Programming, volume 6021 of Lecture Notes in Computer Science, pages 301--312, 2010.
[20]
F. Neumann. Computational complexity analysis of multi-objective genetic programming. In Proceedings of the 17th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '12, pages 799--806, 2012.
[21]
D. J. Newman and A. Asuncion. UCI Machine Learning Repository, University of California, Irvine, School of Information and Computer Sciences, 2007.
[22]
NVIDIA Corporation. NVIDIA CUDA Programming and Best Practices Guide, 2013.
[23]
D. Robilliard, V. Marion, and C. Fonlupt. High performance genetic programming on GPU. In Proceedings of the Workshop on Bio-inspired Algorithms for Distributed Systems, BADS '09, pages 85--94, 2009.
[24]
D. Robilliard, V. Marion-Poty, and C. Fonlupt. Population parallel GP on the G80 GPU. In Proceedings of the 11th European Conference on Genetic Programming, volume 4971 of Lecture Notes in Computer Science, pages 98--109, 2008.
[25]
D. Robilliard, V. Marion-Poty, and C. Fonlupt. Genetic programming on graphics processing units. Genetic Programming and Evolvable Machines, 10(4):447--471, 2009.
[26]
G. Wilson and W. Banzhaf. Deployment of CPU and GPU-based genetic programming on heterogeneous devices. In Proceedings of the 14th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '09, pages 2531--2538, 2009.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
GECCO '14: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation
July 2014
1478 pages
ISBN:9781450326629
DOI:10.1145/2576768
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 July 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. genetic programming
  2. graphic processing units
  3. parallelism

Qualifiers

  • Research-article

Conference

GECCO '14
Sponsor:
GECCO '14: Genetic and Evolutionary Computation Conference
July 12 - 16, 2014
BC, Vancouver, Canada

Acceptance Rates

GECCO '14 Paper Acceptance Rate 180 of 544 submissions, 33%;
Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)3
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)A survey on batch training in genetic programmingGenetic Programming and Evolvable Machines10.1007/s10710-024-09501-626:1Online publication date: 29-Nov-2024
  • (2022)A review on big data based parallel and distributed approaches of pattern miningJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2019.09.00634:5(1639-1662)Online publication date: 1-May-2022
  • (2022)Exploring Genetic Programming in TensorFlow with TensorGPSN Computer Science10.1007/s42979-021-01006-83:2Online publication date: 4-Feb-2022
  • (2021)A Review of Genetic Programming: Popular Techniques, Fundamental Aspects, Software Tools and ApplicationsSakarya University Journal of Science10.16984/saufenbilder.79333325:2(397-416)Online publication date: 15-Apr-2021
  • (2021)TensorGP – Genetic Programming Engine in TensorFlowApplications of Evolutionary Computation10.1007/978-3-030-72699-7_48(763-778)Online publication date: 1-Apr-2021
  • (2020)A MIMD Interpreter for Genetic ProgrammingApplications of Evolutionary Computation10.1007/978-3-030-43722-0_41(645-658)Online publication date: 9-Apr-2020
  • (2019)A fast parallel genetic programming framework with adaptively weighted primitives for symbolic regressionSoft Computing10.1007/s00500-019-04379-4Online publication date: 30-Sep-2019
  • (2017)A distributed implementation using apache spark of a genetic algorithm applied to test data generationProceedings of the Genetic and Evolutionary Computation Conference Companion10.1145/3067695.3084219(1857-1863)Online publication date: 15-Jul-2017
  • (2017)A massively parallel Grammatical Evolution technique with OpenCLJournal of Parallel and Distributed Computing10.1016/j.jpdc.2017.06.017109:C(333-349)Online publication date: 1-Nov-2017
  • (2017)Evolutionary induction of a decision tree for large-scale dataSoft Computing - A Fusion of Foundations, Methodologies and Applications10.1007/s00500-016-2280-121:24(7363-7379)Online publication date: 1-Dec-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media