Synthesis of parallel programs on multi-cores

Gopinath Chennupati, R. Muhammad Atif Azad, Conor Ryan, Stephan Eidenbenz, Nandakishore Santhi

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

Abstract

Multi-cores offer higher processing power than single core processors. However, as the number of cores available on a single processor increases, efficiently programming them becomes increasingly more complex, often to the point where the limiting factor in speeding up tasks is the software. We present Grammatical Automatic Parallel Programming (GAPP), a system that synthesizes parallel code on multi-cores using OpenMP parallelization primitives in problem-specific grammars. As a result, GAPP obviates the need for programmers to think parallel while still letting them produce parallel code. The performance of GAPP on a number of difficult proof of concept benchmarks informs further optimization of both the design of grammars and fitness function to extract further parallelism. We demonstrate an improved performance of evolving programs with controlled degree of parallelism. These programs adapt to the number of cores on which they are scheduled to execute.

Original languageEnglish
Title of host publicationHandbook of Grammatical Evolution
PublisherSpringer International Publishing
Pages289-315
Number of pages27
ISBN (Electronic)9783319787176
ISBN (Print)9783319787169
DOIs
Publication statusPublished - 1 Jan 2018

Fingerprint

Dive into the research topics of 'Synthesis of parallel programs on multi-cores'. Together they form a unique fingerprint.

Cite this