• DocumentCode
    618175
  • Title

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

  • Author

    Goli, M. ; McCall, John ; Brown, C. ; Janjic, Vladimir ; Hammond, Kevin

  • Author_Institution
    Sch. of Comput., Robert Gordon Univ., Aberdeen, UK
  • fYear
    2013
  • fDate
    20-23 June 2013
  • Firstpage
    2932
  • Lastpage
    2939
  • 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.
  • Keywords
    Monte Carlo methods; graphics processing units; parallel programming; resource allocation; trees (mathematics); Monte Carlo tree search; central processing unit; graphics processing unit; heterogeneous CPU-GPU architecture; high-level design pattern; parallel hardware; parallel program mapping; parallelism; programming practice; programming technique; resource mapping; single core processor; well-specified parallel skeleton; Computer architecture; Convolution; Graphics processing units; Hardware; Monte Carlo methods; Pipelines; Skeleton; Heterogeneous Architecture; Heuristic Algorithm; Montecarlo Tree Search; Parallel Programming; Static Mapping;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Evolutionary Computation (CEC), 2013 IEEE Congress on
  • Conference_Location
    Cancun
  • Print_ISBN
    978-1-4799-0453-2
  • Electronic_ISBN
    978-1-4799-0452-5
  • Type

    conf

  • DOI
    10.1109/CEC.2013.6557926
  • Filename
    6557926