Automatic evolution of parallel recursive programs

Gopinath Chennupati, R. Muhammad Atif Azad, Conor Ryan

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Writing recursive programs for fine-grained task-level execution on parallel architectures, such as the current generation of multi-core machines, often require the application of skilled parallelization knowledge to fully realize the potential of the hardware. This paper automates the process by using Grammatical Evolution (GE) to exploit the multicores through the evolution of natively parallel programs. We present Multi-core Grammatical Evolution (MCGE-II), which employs GE and OpenMP specific pragmatic information to automatically evolve tasklevel parallel recursive programs. MCGE-II is evaluated on six recursive C programs, and we show that it solves each of them using parallel code. We further show that MCGE-II significantly decreases the parallel computational effort as the number of cores increase, when tested on an Intel processor.

Original languageEnglish
Title of host publicationGenetic Programming - 18th European Conference, EuroGP 2015, Proceedings
EditorsPablo García-Sánchez, Penousal Machado, Sebastian Risi, Malcolm I. Heywood, Paolo Burelli, James McDermott, Kevin Sim, Mauro Castelli
PublisherSpringer Verlag
Pages167-178
Number of pages12
ISBN (Electronic)9783319165004
DOIs
Publication statusPublished - 2015
Event18th European Conference on Genetic Programming, EuroGP 2015 - Copenhagen, Denmark
Duration: 8 Apr 201510 Apr 2015

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9025
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference18th European Conference on Genetic Programming, EuroGP 2015
Country/TerritoryDenmark
CityCopenhagen
Period8/04/1510/04/15

Keywords

  • Automatic parallelization
  • Evolutionary auto-parallelization
  • Grammatical evolution
  • OpenMP
  • Program synthesis
  • Recursion

Fingerprint

Dive into the research topics of 'Automatic evolution of parallel recursive programs'. Together they form a unique fingerprint.

Cite this