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
Journal International journal of parallel programming
Print ISSN 0885-7458
Electronic ISSN 1573-7640
Publisher Springer Verlag
Peer Reviewed Peer Reviewed
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], Online First. 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

;