Skip to main content

Research Repository

Advanced Search

Programming heterogeneous parallel machines using refactoring and Monte–Carlo tree search.

Brown, Christopher; Janjic, Vladimir; Goli, M.; McCall, J.

Authors

Christopher Brown

Vladimir Janjic

M. Goli



Abstract

This paper presents a new technique for introducing and tuning parallelism for heterogeneous shared-memory systems (comprising a mixture of CPUs and GPUs), using a combination of algorithmic skeletons (such as farms and pipelines), Monte–Carlo tree search for deriving mappings of tasks to available hardware resources, and refactoring tool support for applying the patterns and mappings in an easy and effective way. Using our approach, we demonstrate easily obtainable, significant and scalable speedups on a number of case studies showing speedups of up to 41 over the sequential code on a 24-core machine with one GPU. We also demonstrate that the speedups obtained by mappings derived by the MCTS algorithm are within 5–15% of the best-obtained manual parallelisation.

Citation

BROWN, C. JANJIC, V., GOLI, M. and MCCALL, J. 2020. Programming heterogeneous parallel machines using refactoring and Monte–Carlo tree search. International journal of parallel programming [online], 48(4): high level parallel programming, pages 583-602. Available from: https://doi.org/10.1007/s10766-020-00665-z

Journal Article Type Article
Acceptance Date May 27, 2020
Online Publication Date Jun 10, 2020
Publication Date Aug 31, 2020
Deposit Date Jun 26, 2020
Publicly Available Date Mar 28, 2024
Journal International journal of parallel programming
Print ISSN 0885-7458
Electronic ISSN 1573-7640
Publisher Springer
Peer Reviewed Peer Reviewed
Volume 48
Issue 4
Pages 583-602
DOI https://doi.org/10.1007/s10766-020-00665-z
Keywords Heterogeneous parallel computing; Monte–Carlo tree search; Optimisations
Public URL https://rgu-repository.worktribe.com/output/937862

Files





You might also like



Downloadable Citations