Mapping parallel programs to heterogeneous CPU/GPU architectures using a Monte Carlo Tree Search

Mehdi Goli, John McCall, Christopher Brown, Vladimir Janjic, Kevin Hammond

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)
68 Downloads (Pure)

Abstract

The single core processor, which has dominated for over 30 years, is now obsolete with recent trends increasing towards parallel systems, demanding a huge shift in programming techniques and practices. Moreover, we are rapidly moving towards an age where almost all programming will be targeting parallel systems. Parallel hardware is rapidly evolving, with large heterogeneous systems, typically comprising a mixture of CPUs and GPUs, becoming the mainstream. Additionally, with this increasing heterogeneity comes increasing complexity: not only does the programmer have to worry about where and how to express the parallelism, they must also express an efficient mapping of resources to the available system. This generally requires in-depth expert knowledge that most application programmers do not have. In this paper we describe a new technique that derives, automatically, optimal mappings for an application onto a heterogeneous architecture, using a Monte Carlo Tree Search algorithm. Our technique exploits high-level design patterns, targeting a set of well-specified parallel skeletons. We demonstrate that our MCTS on a convolution example obtained speedups that are within 5% of the speedups achieved by a hand-tuned version of the same application.

Original languageEnglish
Title of host publication2013 IEEE Congress on Evolutionary Computation, CEC 2013
PublisherIEEE
Pages2932-2939
Number of pages8
ISBN (Electronic)9781479904549, 9781479904525, 9781479904518
ISBN (Print)9781479904532
DOIs
Publication statusPublished - 15 Jul 2013
Event2013 IEEE Congress on Evolutionary Computation, CEC 2013 - Cancun, Mexico
Duration: 20 Jun 201323 Jun 2013

Publication series

Name
ISSN (Print)1089-778X
ISSN (Electronic)1941-0026

Conference

Conference2013 IEEE Congress on Evolutionary Computation, CEC 2013
CountryMexico
CityCancun
Period20/06/1323/06/13

Keywords

  • Heterogeneous Architecture
  • Heuristic Algorithm
  • Montecarlo Tree Search
  • Parallel Programming
  • Static Mapping

Fingerprint Dive into the research topics of 'Mapping parallel programs to heterogeneous CPU/GPU architectures using a Monte Carlo Tree Search'. Together they form a unique fingerprint.

  • Cite this

    Goli, M., McCall, J., Brown, C., Janjic, V., & Hammond, K. (2013). Mapping parallel programs to heterogeneous CPU/GPU architectures using a Monte Carlo Tree Search. In 2013 IEEE Congress on Evolutionary Computation, CEC 2013 (pp. 2932-2939). [6557926] IEEE. https://doi.org/10.1109/CEC.2013.6557926