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

J. McCall



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.

Journal Article Type Article
Publication Date Aug 31, 2020
Journal International journal of parallel programming
Print ISSN 0885-7458
Electronic ISSN 1573-7640
Publisher Springer Verlag
Peer Reviewed Peer Reviewed
Volume 48
Issue 4
Pages 583-602
Institution 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): special issue on high level parallel programming, pages 583-602. Available from: https://doi.org/10.1007/s10766-020-00665-z
DOI https://doi.org/10.1007/s10766-020-00665-z
Keywords Heterogeneous parallel computing; Monte–Carlo tree search; Optimisations

Files





You might also like



Downloadable Citations

;